Вопрос

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

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

php -i | grep php.ini

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

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

Однако от phpinfo(), Я посмотрю:

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

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

Это было полезно?

Решение

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

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

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

Твой .ini Пути на самом деле довольно необычно. Обычно по умолчанию .ini просто php.ini и Cli .ini называется php-cli.ini И они проживают в той же папке.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top