How can I find out why my php5-fpm failed to start?

Solution 1:

Did you check your error_log file for php-fpm? Location of that file should be declared in your php-fpm.conf (in Ubuntu config is /etc/php5/fpm/php-fpm.conf, log file is /var/log/php5-fpm/log), also check your log_level, if is disabled (;log_level), please enable it and change it to the debug. After that try restart php5-fpm service and check your logs.

You can also try to run php5-fpm in foreground mode:

# php5-fpm -y /etc/php5/fpm/php-fpm.conf

Maybe this show you something interesting.

Solution 2:

Standard troubleshooting procedure:

  • Check the log file. If you don't know where it is check the config or to figure out for certain find the pid with ps aux | grep php-fpm, then do lsof -p $PID | grep log (omit the grep if it shows nothing).
  • 99% of the time log files will show you the cause. If not, look for a logging level in the config, raise it and try again.
  • Perhaps it quits instantly and you can't get the PID to inspect the process. You can also try starting the process in the foreground, but this means figuring out which commandline switches you need to use. Usually you just need to point it at your existing config.
  • If neither the log file or stdout/stderr (foreground output) contain include any clues it's time for strace... but that's another post.

Solution 3:

This note helped me: https://bugs.launchpad.net/nginx/+bug/1366651

In my case, updating to nginx > 1.6.1 the parameters that are passed to php5-fpm are located in fastcgi.conf instead of in fastcgi_params, resulting in a PHP that always returns 200 (ok), but never any content, because the SCRIPT_FILENAME was no longer set.

I hope it also helps someone else.


Solution 4:

For me, the problem was my php-fpm.conf file was not using the default config filename - it was named /etc/php5/fpm/php5-fpm.conf ( php5-fpm.conf vs php-fpm.conf )

php5-fpm -t  

[26-Jul-2014 22:39:16] ERROR: failed to open configuration file '/etc/php5/fpm/php-fpm.conf': No such file or directory (2)
[26-Jul-2014 22:39:16] ERROR: failed to load configuration file '/etc/php5/fpm/php-fpm.conf'
[26-Jul-2014 22:39:16] ERROR: FPM initialization failed

I renamed the conf file to php-fpm.conf and that fixed the problem.

sudo mv /etc/php5/fpm/php5-fpm.conf /etc/php5/fpm/php-fpm.conf
sudo service php5-fpm restart
 * Restarting PHP5 FastCGI Process Manager php5-fpm                                                                           [ OK ]

Tags:

Linux

Php

Php Fpm