Назад | Перейти на главную страницу

изменения php.ini не имеют никакого эффекта

Когда я вношу какие-либо изменения в php.ini, расположенный в / usr / local / lib на centos, изменения не применяются, например, когда я очищаю все содержимое php.ini и перезапускаю Apache, все работает нормально. ..

Я искал php.ini, и он находится в одном месте в системе ... в чем проблема? Как я могу это исправить?

если вы не уверены, какой php.ini используется, создайте новый файл в своей веб-папке, назовите его phpinfo.php например, со следующим содержанием

<?php
phpinfo();
?>

затем откройте URL-адрес в своем браузере (http://www.example.com/phpinfo.php). он покажет путь к используемому php.ini.

когда вы определили правильный файл, внесите желаемые изменения и обязательно удалите ведущие; в случае, если есть один, чтобы активировать настройку.

перезапустите apache и перезагрузите страницу phpinfo, теперь должны появиться ваши измененные настройки. в противном случае убедитесь, что в вашем корневом веб-каталоге нет файла .htaccess, который переопределяет настройки php.

Вы можете прочитать эти темы:

подсказки:

  1. Что такое «загруженный файл конфигурации» в выводе php_info? -> убедитесь, что вы редактируете правильный ini-файл.
  2. проверьте, не встречается ли ваша настройка несколько раз в одном файле.
  3. Совет Грифиуса тоже неплох: раскомментируйте настройку! (удалите начальный ";")
  4. Проверьте права доступа к ini-файлу. Веб-серверу и php-cgi / php-fpm требуется доступ для чтения.
  5. php 5 и более поздних версий: перед тестированием перезапускайте не только веб-сервер, но и службу php-fpm.

Следить за этим:

Создайте файл внутри своего корневого веб-сайта, назовите его как хотите. Я обычно предпочитаю x.php

 # vim x.php

Содержимое файла должно быть таким:

<?php
phpinfo();
?>

Теперь откройте этот файл в своем браузере следующим образом:

http://server_ip/x.php

Это покажет вам расположение php.ini, которое использует ваш apache. Отредактируйте этот php.ini, и он будет работать.

Я обнаружил вопиющую ошибку в своем php.ini файл, который вызвал именно этот симптом, например. некоторые настройки php.ini не вступили в силу ..

Начиная с php7.0, # символ не является допустимым началом комментария. Только ; принято. Но все же многие редакторы, например vim, показать символы после "#"в качестве комментариев, чтобы вы не осознали, что определенная часть файла php.ini не является игнорируемым комментарием.

В моем случае php.ini поданный содержал это:

# ""
max_input_vars = 3000

В max_input_vars = 3000 не вступило в силу, потому что предыдущая строка не является комментарием. У него есть побочный эффект, из-за которого моя следующая строка игнорируется.

Изменив его на

; ""
max_input_vars = 3000

решил проблему.

у вас может быть файл php.ini в вашем корневом каталоге.

пока не могу комментировать здесь, но: Работает ли он, если вы сохраните изменения и перезапустите Apache?

Если это так, вероятно, причина в том, что PHP работает как модуль Apache.
Если вы хотите, чтобы изменения вступили в силу без перезапуска веб-сервера, используйте вместо этого php-cgi.

Эта страница объясняет установку и настройку; выполните поиск на странице "как модуль Apache" или "PHP 5 как двоичный файл CGI".