Apache no toma los cambios del archivo php.ini

apache & php

apache & php

Como bien dicen por ahí, nunca se termina de aprender y es lo que me ha ocurrido recientemente con el archivo de configuración de php para apache.

Pues resulta que hice modificaciones a mi archivo php.ini, reiniciaba el servicio de apache y al ver si había algún cambio en la configuración, todo estaba como si nunca hubiese modificado el archivo.. me refiero a una configuración por omisión, entonces me preguntaba.. ¿Por qué si modifiqué el php.ini, apache no parece tomar los cambios?.

En linux resulta fácil buscar archivos con cierto contenido y es lo que hice, buscar algún archivo de php que tuviera parámetros de configuración, quería asegurarme de que había modificado el archivo correcto, y utilizando el siguiente comando ubique todos los archivos php.ini

$ sudo php -i | grep 'Configuration File'
Configuration File Path => /etc/php5/apache2/php.ini
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

Y claro, muestra 2 archivos de php.ini.. el primero es el que toma apache y el segundo es para el cliente de php cuando se ejecuta en consola y hay un tercero que es para cgi, pero como no lo uso, no me aparece.

Eso no arregló nada, simplemente noté donde estaban los archivos de configuración y estaba seguro de que apache estaba leyendo el archivo correcto, la siguiente prueba fue escribir un archivo info.php y hacer uso del método phpinfo(), lo abrí en mi navegador y efectivamente decía que se estaba utilizando el archivo de la ruta /etc/php5/apache2/php.ini, pero mi duda continuaba.. modifiqué el archivo correcto, lo confirmé con la configuración de apache, pero los cambios no parecían tomarse.

Luego de un rato buscando en la red encontré algo simplemente maravilloso y me dije, porque no se me ocurrió hacer esto ¿? .. según la guía lo que tenía que hacer es dirigirme hacia la carpeta donde se encontraba el archivo php.ini (/etc/php5/apache2/php.ini, pero mi duda continuaba.. modifiqué el archivo correcto, lo confirmé con la configuración de apac), ya en esa carpeta iniciar php en modo consola

$ php -a
Interactive mode enabled
 
php > parse_ini_file("php.ini");
PHP Warning:  syntax error, unexpected '|' in php.ini on line 111
 in php shell code on line 1

Y una vez en la consola, solo era necesario escribir el método parse_ini_file(“php.ini”), esa función dice si o no el archivo pasado como parámetro esta correctamente formado y ejecutándolo es que me dí cuenta que mi archivo php.ini tenía un errorcillo bobo, lo corregí y después de un reinicio del servicio, todo se arregló.

Entonces porque funcionaba apache ?.. fácil, pues sucede que cuando el archivo de configuración (php.ini) está mal formado, apache obvia el archivo y toma parámetros por omisión como si el archivo no existiera, así no se detiene el servidor y apache funciona con una configuración básica.

Co-fundador de Qbit Mexhico, usuario de linux, Developer en tecnologías web.. Nicaragüense, centro en basketball, primer centro en rugby y pintor los fines de semana. Ortögrafo y ambientalista psicológico (de escritorio).. ese soy yo!

Si te ha servido compártelo y difunde nuestro blog..

Facebook Twitter LinkedIn Google+ Flickr YouTube Skype 

Compartir en...Tweet about this on TwitterPin on Pinterest0Share on LinkedIn0Share on Google+0Share on Facebook1