2011-02-04 18 views
5

que tienen Linux Ubuntu 10.10 y cuando funciono el siguiente en un terminal:múltiples archivos php.ini en mi sistema

php -i | grep php.ini 

que tenga el archivo de configuración cargado =>/etc/php5/cli/php. ini

Mientras que si uso phpinfo() en el navegador que habrá:

cargado el archivo de configuración /etc/php5/apache2/php.ini

Lo que significa que hay diferentes archivos ini de acuerdo con php_sapi_name !!

ahora la pregunta es ¿cómo puedo configurar el mismo php.ini para todos los agentes de usuario (navegador, cli, etc.) sin copiar el mismo archivo en diferentes ubicaciones?

+0

Deje las configuraciones de SAPI individuales por sí solas (debido a los diversos tiempos de ejecución, no deberían serlo) compuesto por razones de seguridad y eficiencia). Si desea establecer reemplazos, cree un script personalizado como '/ etc/php5/conf.d/your.ini' – mario

Respuesta

1

a veces se puede tener más de un php.ini para gestionar diferentes interfaces o sitios web Por ejemplo, puede tener diferentes php.ini para cada sitio web que aloja en su servidor estableciendo PHPIniDir en su host virtual de la siguiente manera

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

, si te gusta hacer sólo una php.ini para todas las interfaces, la única manera es utilizar enlaces simbólicos de la siguiente manera:
ln -s /etc/php5/cli/php.ini/etc/php5 /apache2/php.ini

1

Puede usar enlaces simbólicos.

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

No creo que ajustar todos los diferentes contextos php para usar la misma configuración es una buena idea en primer lugar, pero si usted realmente desea, usted podría tener uno php.ini y todos los demás ser enlaces simbólicos.

No creo que haya una manera de cambiar el comportamiento de php en cuanto a qué archivo incluirá sin recompilarlo al menos.

1

¿Qué hay de reemplazar uno de ellos con un enlace simbólico?

1

Puede usar enlaces simbólicos (Apache está utilizando esta técnica para sitios disponibles y sitios habilitados). Así que vaya a

cd /etc/php5/ 

y copiar su archivo php.ini deseada allí, navegue a cli/apache2 y/- Retirar php.ini (MV o rm ella) y luego ejecutar

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

Esto creará un enlace simbólico a php.ini en su/etc/php5/apache2/y/etc/php5/cli/folders.

Nota: Es una buena práctica tener diff. archivos php.ini, para cli hay pocas extensiones que no son cargables y mucho más. :)

+0

Oh, todavía no le presto atención a este pequeño encabezado naranja diciéndome cosas, mientras estoy escribiendo mi respuesta. – ludesign