¿Cómo forzar la recarga del archivo php.ini?

3 minutos de lectura

avatar de usuario
Fractalista

Configuré un servidor web la semana pasada, funcionó bien.

Hoy solicito su página de inicio, veo un error de zona horaria, ya que debería estar configurado en mi archivo php.ini.

intento un phpinfo(); en mi servidor web, me da:

Configuration File (php.ini) Path   /opt/rrh/php/lib 

Pero no se cargó ningún archivo php.ini.

Investigué, el archivo php existe y tiene permisos muy grandes:

 ls -la /opt/rrh/php/lib   
 -rwxrwxrwx  1 apache root 68448 Nov 22 10:10 php.ini

intento un parse_ini_file("/opt/rrh/php/lib/php.ini"));no devuelve ningún error…

Por supuesto, reinicio mi servidor una docena de veces.

¿Qué más puedo hacer para resolver mi problema?

mi sistema:

  1. sombrero rojo 6
  2. apache 2.4
  3. PHP 5.5.19 con libphp5.so módulo apache

Para forzar una recarga de php.ini, debe reiniciar Apache.

Probar sudo service apache2 restart desde la línea de comandos. O sudo /etc/init.d/apache2 restart

avatar de usuario
tcooper

TL;RD; Si aún tiene problemas después de reiniciar apache o nginx, también intente reiniciar el php-fpm Servicio.

Las respuestas aquí no siempre satisfacen el requisito de forzar una recarga del archivo php.ini. En numerosas ocasiones he seguido estos pasos para ser recompensado con ninguna actualización, solo para encontrar la solución que necesito después también reiniciar el servicio php-fpm. Entonces, si reiniciar apache o nginx no activa una actualización de php.ini aunque sabe que los archivos están actualizados, intente reiniciar php-fpm también.

Para reiniciar el servicio:

Nota: anteponga sudo si no es root

Usando los scripts SysV Init directamente:

/etc/init.d/php-fpm restart        # typical
/etc/init.d/php5-fpm restart       # debian-style
/etc/init.d/php7.0-fpm restart     # debian-style PHP 7

Usando el script de contenedor de servicio

service php-fpm restart        # typical
service php5-fpm restart       # debian-style
service php7.0-fpm restart.    # debian-style PHP 7

Usando Upstart (por ejemplo, ubuntu):

restart php7.0-fpm         # typical (ubuntu is debian-based) PHP 7
restart php5-fpm           # typical (ubuntu is debian-based)
restart php-fpm            # uncommon

Usando systemd (servidores más nuevos):

systemctl restart php-fpm.service        # typical
systemctl restart php5-fpm.service       # uncommon
systemctl restart php7.0-fpm.service     # uncommon PHP 7

O cualquiera que sea el equivalente en su sistema.

Los comandos anteriores tomados directamente de esta respuesta de falla del servidor

  • Para los usuarios de DigitalOcean Ubuntu, sudo systemctl restart php7.2-fpm.service Hizo el truco.

    – Devo

    18 de enero de 2021 a las 13:56


También puede usar el reinicio elegante del servidor apache con service apache2 reload o apachectl -k graceful. como el apache doc dice:

El USR1 o la señal elegante hace que el proceso padre aconseje a los hijos que salgan después de su solicitud actual (o que salgan inmediatamente si no están sirviendo nada). El padre vuelve a leer sus archivos de configuración y vuelve a abrir sus archivos de registro. A medida que cada hijo muere, el padre lo reemplaza con un hijo de la nueva generación de la configuración, que comienza a atender nuevas solicitudes de inmediato.

avatar de usuario
shawn w

sudo apachectl restart hace el trabajo en 2021 ejecutando Mac último Big Sur OS

Para los usuarios de Apache Homebrew es brew services restart httpd

¿Ha sido útil esta solución?