Найдите правильный файл php.ini

133

В настоящее время я пытаюсь найти правильный файл 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, который может мешать?

    
задан Michael 12.10.2013 в 02:19
источник

4 ответа

231

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

/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 или число на фактическую папку с версией, которая существует в вашей среде.

    
ответ дан Thomas Ward 12.10.2013 в 04:49
источник
18

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

    
ответ дан Justin Paul Paño 05.11.2013 в 12:30
9

для php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
    
ответ дан Softmixt 21.08.2016 в 09:45
4

Чтобы узнать, какой 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
    
ответ дан Gianfranco P. 27.06.2017 в 17:54