несколько файлов php.ini в моей системе - PullRequest
5 голосов
/ 05 февраля 2011

У меня Linux Ubuntu 10.10, и когда я запускаю ниже в терминале:

php -i | grep php.ini

Я получил загруженный файл конфигурации => /etc/php5/cli/php.ini

Если я использую phpinfo() в браузере, это будет:

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

Это означает, что в зависимости от php_sapi_name есть разные ini-файлы !!

теперь вопрос в том, как установить один и тот же php.ini для всех пользовательских агентов (браузер, cli и т. Д.), Не копируя один и тот же файл в разные места!

Ответы [ 5 ]

2 голосов
/ 05 февраля 2011

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

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

1 голос
/ 05 февраля 2011

иногда у вас может быть несколько php.ini для управления различными интерфейсами или веб-сайтами, например, вы можете иметь разные php.ini для каждого веб-сайта, который вы размещаете на своем сервере, установив PHPINIDir на своем виртуальном хосте, как показано ниже

<VirtualHost 10.24.11.2:80>
ServerName foo.com
ServerAlias www.foo.com
PHPINIDir /var/www/html/foo
</VirtualHost>

однако, если вы хотите сделать только один php.ini для всех интерфейсов, единственный способ - использовать символические ссылки, как показано ниже:
ln -s /etc/php5/cli/php.ini / etc / php5 /apache2 / php.ini

1 голос
/ 05 февраля 2011

Вы можете использовать символические ссылки (Apache использует эту технику для сайтов, доступных и сайтов).Поэтому перейдите к

cd /etc/php5/

и скопируйте туда нужный файл php.ini, затем перейдите к cli / и apache2 / - удалите php.ini (mv или rm it) и затем запустите

cd /etc/php5/apache2
mv php.ini php.ini.bkp
ln -s php.ini ../php.ini

Это создаст символическую ссылку на php.ini в ваших папках / etc / php5 / apache2 / и / etc / php5 / cli /.

Примечание. Рекомендуется использовать diff.Файлы php.ini, для cli есть несколько расширений, которые не загружаются, и многое другое.:)

1 голос
/ 05 февраля 2011

Как насчет замены одного из них символической ссылкой?

1 голос
/ 05 февраля 2011

Вы можете использовать символические ссылки.

ln -s /etc/php5/cli/php.ini  /etc/php5/apache2/php.ini
...