2 файла php.ini - PullRequest
       11

2 файла php.ini

20 голосов
/ 06 октября 2010

Я обнаружил, что:

Когда я набираю на терминале следующее:

php -i | grep php.ini

Я получаю вывод:

Загруженный файл конфигурации: @ /etc/php5/cli/php.ini

Однако с phpinfo() я вижу:

Загруженный INI-файл: @ /etc/php5/apache2/php.ini

Какой из них работает сейчас? Как можно иметь два php.ini файла?

1 Ответ

33 голосов
/ 06 октября 2010

Зависит от того, откуда вы запускаете PHP.Если вы запускаете его из командной строки, он использует cli/php.ini и apache2/php.ini при запуске через apache.

Вы выполняете phpinfo() через браузер, поэтому вы получаете /etc/php5/apache2/php.ini в качестве ответа.Запуск php -r "phpinfo();" | grep "Loaded Configuration" с терминала должен вывести CLI ini.Та же функция, контекст меняется.

Преимущество этой системы, очевидно, состоит в том, что она допускает различные конфигурации в зависимости от контекста.Для упрощенного примера вы можете захотеть включить safe_mode в apache, но в режиме CLI это не нужно.

Ваши .ini пути на самом деле довольно необычны.Обычно по умолчанию .ini просто php.ini, а CLI .ini называется php-cli.ini, и они находятся в одной папке.

Я не специалист по этому вопросу, но это должно быть основной идеей.Если у кого-нибудь есть исправления, я буду рад их услышать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...