Настройки на php.ini проигнорированы

проверьте, что Вы не ожидаете на разрешении DNS где-нибудь.

2
задан 11 July 2012 в 22:44
3 ответа

напишите на своем веб-сервере файл под названием test.php:

<? phpinfo(); ?>

Затем откройте его в своем браузере

там есть раздел

Directive   Local Value Master Value

, где вы видите значения всех переменных и где они установлены: Локальное значение означает, что устанавливается в .htaccess или внутри php-скрипта с помощью ini_set ()

, также попробуйте http://php.net/manual/de/function.ini-get-all.php чтобы узнать источник содержимого ваших переменных.

Однажды у меня была глупая ошибка, когда я пытался установить для upload_max_filesize значение 200M: я написал «200MB» в php.ini, но это должно быть просто «200M» php интерпретирует неверное значение «200MB» как 0. Возможно, что-то из этого помогает

1
ответ дан 3 December 2019 в 13:07

Запустите php -i в терминале, и он пометит, есть ли у вас какие-либо синтаксические ошибки в вашем php.ini. Такие ошибки заставляют Apache не анализировать (игнорировать) директивы незаметно.

0
ответ дан 3 December 2019 в 13:07

Вчера я столкнулся с той же проблемой. Я установил, что в системе был только один php.ini, phpinfo() сообщил, что действительно правильный php.ini использовался для конфигурации, я остановил httpd, проверил, что все экземпляры были убиты, затем перезапустил его, но php все еще использовал одинаковые значения. Это должно было означать, что другой процесс считывал и сохранял исходные значения в php.ini. Поиск php в списке процессов выявил несколько экземпляров php-fpm. Пытался убить его, а затем перезапуск апача. Это решило проблему. Пробовал больше изменений в php.ini и пробовал используя systemctl, перезагрузите php-fpm, и да, конечно, это сработало. Я не знаю, когда был сделан переход от mod_php, по-видимому, много лет назад, но я почему-то пропустил это, и более 90% серверов, которыми я управляю, все еще используют mod_php. Ни в одном из руководств, которые я читал для таких приложений, как Moodle, не упоминается ifpm.Все говорят, внесите изменения и перезапустите apache, никто из них не упоминает перезапуск fpm, но вот и все. Я предполагаю, что многие из запросов, поднятых на таких сайтах, как serverfault, связаны с этой проблемой. systemctl start httpd запускает демон fpm в дополнение к httpd, но systemctl stop httpd не останавливает php-fpm и не перезапускает sytemctl httpd, и неудивительно, что новый systemctl start httpd просто оставит старую версию работающей.

Таким образом, самый быстрый способ внести изменения — изменить php.ini и затем запустить systemctl перезагрузить php-fpm нет необходимости трогать демон httpd.

0
ответ дан 30 November 2020 в 10:18

Теги

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