Могу ли я добавить второй файл php.ini, который заменит первый?

Могу ли я добавить второй файл php.ini, который заменит первый?

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

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

Есть ли способ заставить PHP проверять наличие «исправляющего» файла php.ini?

решение1

PHP загружает дополнительные файлы .ini из определенного каталога. На компьютере с Debian 8 этот каталог: /etc/php5/apache2/conf.d.

Файлы в этом каталоге загружаются в алфавитном порядке, поэтому указание имени файла 00-overrides.ini(например) приведет к его загрузке в первую очередь. Настройки, заданные в этом файле, переопределят настройки, заданные в php.ini по умолчанию.

решение2

Если вы используете PHP как модуль Apache, есть директива для указания пути к каталогу, в котором PHP будет искать php.ini:

LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Пример приведен для Windows, но он также работает и для систем Linux.

Обратите внимание, что php.ini в указанном месте будетзаменятьphp.ini в расположении по умолчанию, он не будет его переопределять или расширять каким-либо образом.

Таким образом, при обновлении PHP будет перезаписан php.ini в расположении по умолчанию, но не ваш пользовательский php.ini.

Ссылка:http://php.net/manual/en/install.windows.apache2.php#install.windows.apache2.module

Связанный контент