Fiz alterações em meu arquivo php.ini, por isso não atualizo o arquivo php.ini sempre que atualizo o pacote PHP. Gostaria de "desembolsar" minhas alterações para um arquivo diferente, para poder atualizar o arquivo php.ini real sem perder minhas alterações.
Sei que o PHP 5.3 introduziu arquivos .ini por diretório, mas meu servidor tem vários hosts virtuais - portanto, várias raízes de documentos - portanto, não há um lugar onde eu possa colocar um arquivo php.ini de substituição usando a abordagem por diretório.
Existe uma maneira de fazer com que o PHP verifique um arquivo php.ini "emendando"?
Responder1
PHP carrega arquivos .ini adicionais de um determinado diretório. Em uma caixa Debian 8, esse diretório é: /etc/php5/apache2/conf.d
.
Os arquivos nesse diretório são carregados em ordem alfabética, portanto, nomear um arquivo 00-overrides.ini
(por exemplo) fará com que ele seja carregado primeiro. As configurações definidas nesse arquivo substituirão as configurações definidas no php.ini padrão.
Responder2
Se você estiver executando o PHP como um módulo do Apache, há uma diretiva para definir o caminho do diretório onde o PHP procurará pelo php.ini:
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"
O exemplo é para Windows, mas funciona da mesma forma para sistemas Linux.
Observe que o php.ini no local especificado irásubstituiro php.ini no local padrão, ele não irá substituí-lo ou estendê-lo de forma alguma.
Desta forma, quando você atualizar o PHP, ele substituirá o php.ini no local padrão, mas não o seu php.ini personalizado
Referência:http://php.net/manual/en/install.windows.apache2.php#install.windows.apache2.module