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

188
задан 24 August 2017 в 12:31

6 ответов

Каждый из трех имеющихся у вас файлов предназначен для различных целей.

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

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

/etc/php/5.6/apache2/php.ini предназначен для подключаемого модуля PHP, используемого Apache. Это тот, который вам нужно отредактировать , чтобы применить изменения к вашей установке Apache, которая использует встроенный модуль PHP для 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 или номер папкой фактической версии, которая существует в вашей среде.

318
ответ дан 24 August 2017 в 12:31

Andramo mihazakazaka script misy an'ity sombin-tsolika ity ao amin'ny browser-nao ary avy eo manandrama mikaroka zavatra toy ny Loigs Configuration Loaded . Ity fidirana ity dia mamaritra ny php.ini ampiasain'ny PHP ao amin'ny mpizara Apache anao.

25
ответ дан 24 August 2017 в 12:31

Чтобы узнать, какой 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
22
ответ дан 24 August 2017 в 12:31

для php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
15
ответ дан 24 August 2017 в 12:31

Вы можете найдите используемый файл, запустив его на терминале:

php --ini
3
ответ дан 22 November 2019 в 22:48

Я нахожусь в стеке LAMP на Amazon Lightsail, и расположение правильного файла php.ini для моего сервера Ubuntu:

/opt/bitnami/php/etc/php.ini
0
ответ дан 5 January 2021 в 23:18

Другие вопросы по тегам:

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