Hice cambios en mi archivo php.ini, por lo que no actualizo el archivo php.ini cada vez que actualizo el paquete PHP. Me gustaría "bifurcar" mis cambios en un archivo diferente, para poder actualizar el archivo php.ini real sin perder mis cambios.
Me doy cuenta de que PHP 5.3 introdujo archivos .ini por directorio, pero mi servidor tiene múltiples hosts virtuales (por lo tanto, múltiples raíces de documentos), por lo tanto, no hay un solo lugar donde pueda colocar un archivo php.ini principal usando el enfoque por directorio.
¿Hay alguna manera de hacer que PHP busque un archivo php.ini "modificado"?
Respuesta1
PHP carga archivos .ini adicionales desde un directorio determinado. En una caja Debian 8, ese directorio es: /etc/php5/apache2/conf.d
.
Los archivos en ese directorio se cargan en orden alfabético, por lo que nombrar un archivo 00-overrides.ini
(por ejemplo) hará que se cargue primero. Las configuraciones establecidas en ese archivo anularán las configuraciones establecidas en el php.ini predeterminado.
Respuesta2
Si está ejecutando PHP como un módulo de Apache, hay una directiva para establecer la ruta del directorio donde PHP buscará php.ini:
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"
El ejemplo es para Windows, pero funciona igual para sistemas Linux.
Tenga en cuenta que el php.ini en la ubicación especificadareemplazarel php.ini en la ubicación predeterminada, no lo anulará ni lo ampliará de ninguna manera.
De esta manera, cuando actualice PHP, sobrescribirá el php.ini en la ubicación predeterminada, pero no su php.ini personalizado.
Referencia:http://php.net/manual/en/install.windows.apache2.php#install.windows.apache2.module