PHP-скрипты будут выполняться либо от имени:
User
в конфигурации Apache (обычно apache
или nobody
), если вы используете mod_php
php-fpm
Таким образом, пользователь, под которым будет выполняться PHP-скрипт, может быть разным. Поэтому вы сами должны установить владельца и группу в /var/www/html
(или там, где находится ваш DocumentRoot
) соответствующим образом.
Более того, вы можете вообще не желать, чтобы ваше PHP-приложение могло записывать (или перезаписывать) файлы в вашем DocumentRoot
, поскольку это может позволить посетителю взломанного или небезопасного PHP-приложения получить привилегии удаленного выполнения кода. Поэтому вы сами должны решить, является ли ваше PHP-приложение достаточно надежным, чтобы позволить ему писать в файлы, которые Apache может обслуживать через интернет или даже исполнять.
PHP практически никогда (и никогда не должен!) не будет запущен от имени root по причинам, аналогичным вышеупомянутым.
Как разрешить неопределенную ссылку на 'RAND_egd'
Я считаю, что теперь вам следует вызвать RAND_add_egd
. Также см. упрощение API rand_egd в списке рассылки openssl-dev.
Код, который вы компилируете, должен иметь защиту OpenSSL 1.1.0. Может быть, что-то вроде:
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
int rc = RAND_egd(<path>);
...
#else
int rc = RAND_add_egd(<path>);
...
#endif
Дэниел обычно очень хорошо умеет не отставать от OpenSSL. Похоже, вы получаете версию чего-то нижнего уровня дистрибутива.
Согласно cURL Issue 763 , cURL впервые добавил поддержку openssl-1.1.0-dev по крайней мере в апреле 2016 года. Полный журнал изменений находится по адресу cURL Changelog .
Похоже, вам стоит перейти от cURL 7.50.2. Имеет 12 известных уязвимостей . Похоже, версия 7.51.0 была выпущена 2 ноября 2016 г.