php.ini не читается после обновления до PHP 5.6.25 с RHSC на RHEL7 с SELinux. Как отлаживать?

Конфигурация: Я запускаю веб-сервер с RHEL7 с модулем ядра SELinux и php-fpm. По умолчанию RHEL7 поставляется с PHP 5.4. Эта версия PHP слишком старая для моего программного обеспечения, поэтому я обновился до PHP 5.6.25 из RHSC.

Перед обновлением все работало, как ожидалось.

Когда я запускаю обновленный php из CLI, все работает отлично. Например, я Мы изменили значение для upload_max_filesize (в строке 810) с 2M (по умолчанию) на 8M, и это изменение появляется, как и ожидалось, когда я запрашиваю настройки PHP из CLI:

php -v
php 5.6.25 (cli) ...
php -i | fgrep upload_max_filesize
upload_max_filesize => 8M => 8M

Однако после обновления похоже, что php.ini больше не читается Apache при перезапуске Apache. Т.е. изменения в php.ini не имеют никакого эффекта ( все значения, включая значение для upload_max_filesize , остаются по умолчанию).

Я создал веб-страницу для отладки этого, она содержит следующий фрагмент кода PHP:

$inipath = php_ini_loaded_file();
echo '<p>Loaded php.ini: <code>' . $inipath . '</code>.</p>';
$contents = file($inipath);
if ($contents) {
  echo '<p>Line 810: ' . $contents[810] . '.</p>';
} else {
  echo '<p>Unable to read php.ini file.</p>';
}
echo '<p>ini_get(): upload_max_filesize = ' . ini_get('upload_max_filesize') . '.</p>';

Он выводит:

Loaded php.ini: /etc/opt/rh/rh-php56/php.ini.
Line 810:  upload_max_filesize = 8M.
ini_get(): upload_max_filesize = 2M.

То есть путь к php.ini , используемый веб-сервер - /etc/opt/rh/rh-php56/php.ini , и он устанавливает upload_max_filesize на 8M в строке 810. Тем не менее, значение, возвращаемое при вызове ini_get ('upload_max_filesize') , является значением по умолчанию. (Да, я перезапустил Apache .)

Нет ничего, что могло бы установить upload_max_filesize в других файлах .ini или в .htaccess ] (Я много искал.)

Я исчерпал все возможности отладки и надеюсь на ответы, которые подскажут, как я могу это взломать.

0
задан 19 January 2019 в 19:23
1 ответ

Наконец-то разобрались!

Оказывается, перезапуска Apache (httpd) недостаточно для того, чтобы изменения в php.ini вступили в силу именно с этой конфигурацией. Также необходимо перезапустить менеджер процессов FastCGI. Следующая команда решила эту проблему:

sudo systemctl restart rh-php56-php-fpm.service
0
ответ дан 5 December 2019 в 08:26

Теги

Похожие вопросы