Вопрос Найти правильный файл php.ini


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

Я нашел три разных файла php.ini (не знаю, почему их три)  вот как я нашел файлы

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

Я тоже сделал ....

$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

Я изменил их все (чтобы быть уверенным) в настройках, которые я хотел.

Я перезапустил apache, используя

sudo service apache2 restart

Результаты...

* Restarting web server apache2

Я перезагрузил страницу и показал, что файл php.ini не обновлен.

Я знаю это, потому что я использовал

echo ini_get('post_max_size');

Который должен был быть изменен до 20M, но все еще был только 2M

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

Есть ли шанс, что может быть другой файл php.ini, который может мешать?


148
2017-10-12 00:19


происхождения


«правильный» находится в apache2 подкаталог - Joren
использование updatedb; locate php.ini вместо find, - sjas
@Michael Файл /etc/php/5.6/apache2/php.ini в Ubuntu 16.04 LTS Xenial Xerus, где 5.6/ это версия установленного php. Сначала скопируйте файл в php.original.ini затем открыть для редактирования с помощью sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


ответы:


Три файла, которые у вас есть, предназначены для разных целей.

/etc/php/5.6/cli/php.ini для программы CLI PHP, которую вы обнаружили при запуске php на терминале.

/etc/php/5.6/cgi/php.ini для системы php-cgi, которая специально не используется в этой настройке.

/etc/php/5.6/apache2/php.ini для плагина PHP, используемого Apache. Это тот, который вам нужно отредактировать для внесения изменений в настройку Apache.

/etc/php/5.6/fpm/php.ini для php5-fpm процессор, который является совместимым с fastcgi «оберткой» для обработки PHP (например, для передачи от NGINX до php5-fpm) и работает как автономный процесс в системе (в отличие от плагина Apache PHP)

Для версий Ubuntu ниже чем 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, и т. д., заменяются на /etc/php5/ и так далее. В противном случае эти пути остаются точными. Адаптируйте это соответственно для своей среды, заменив 5.6 или номер с фактической папкой версии, которая существует в вашей среде.


256
2017-10-12 02:49



php.ini не найден в каталоге / etc / php5 / apache2. но он доступен там в каталоге cli. - Anuj TBE
@ anujsharma9196 Единственная причина, по которой это будет происходить, - это если вы не используете встроенный плагин Apache для PHP. Пути файлов по-прежнему работают так, как указано здесь и по сей день (подтверждено на моей 15.04 VM) - Thomas Ward♦


Попробуйте запустить сценарий, содержащий этот фрагмент в вашем браузере. <?php phpinfo(); ?> а затем попытайтесь найти что-то вроде Загруженный файл конфигурации, Эта запись указывает php.ini, который использует ваш PHP на вашем сервере Apache.


19
2017-11-05 11:30





для php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini

11
2017-08-21 07:45



Мне не хватает этого файла. Какой пакет предоставляет этот файл? - galmok
для php7 на ubuntu 16.4 - Softmixt


Найти php.ini CLI использует вы можете запустить:

php -i | grep 'php.ini'

Пример вывода:

$ php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

7
2018-06-27 15:54



Это должен быть принятый ответ! - Marcelo Ágil