Parece ser que el mensaje “httpd dead but subsys locked” podemos obtenerlo tanto si Apache falla al arrancar bajo ciertas circunstancias relacionadas con PHP, y también si nos quedamos sin semáforos en el sistema. En particular me he encontrado con 2 de las soluciones propuestas en este artículo.
# service httpd status httpd dead but subsys locked
a) Problema con cachés de PHP
# tail --lines=20 /var/log/httpd/error_log [...] PHP Warning: [Turck MMCache] This build of "Turck MMCache" was compiled for PHP version 4.3.9. Rebuild it for your PHP version (4.3.10) or download precompiled binaries.\n in Unknown on line 0
# rm /var/lock/subsys/httpd # rm /etc/httpd/run/httpd # [...]
Recompilar Turck MMCache y reiniciar apache, todo OK 😉
b) Problema con número de semáforos en el sistema
Si nuestro problema pudieran ser los semáforos, podemos echar un ojo a:
# sysctl kernel.sem kernel.sem = 250 32000 32 128 # echo "512 32000 32 512" > /proc/sys/kernel/sem # echo "kernel.sem=512 32000 100 512" >> /etc/sysctl.conf
c) Problema con PHP y session.auto_start
Si obtienes este error en /var/log/httpd/error_log o bien haciendo # php -v
PHP Fatal error: Unknown(): Failed to initialize storage module: mmcache (path: /tmp) in Unknown on line 0
para solucionarlo poner a 0 session.auto_start to en php.ini:
session.auto_start = 0