当我尝试到达服务器时,我收到504网关超时,一小笔支票未在php5-fpm日志中找到任何日志,但是只是为了确保,我尝试重新启动它。当我尝试重新启动它时:
sudo service php5-fpm restart
我得到[fail]
但是当我做
sudo service php5-fpm stop
sudo service php5-fpm start
我没有错。
如果没有日志,我该如何调查?我能做什么?
当我尝试到达服务器时,我收到504网关超时,一小笔支票未在php5-fpm日志中找到任何日志,但是只是为了确保,我尝试重新启动它。当我尝试重新启动它时:
sudo service php5-fpm restart
我得到[fail]
但是当我做
sudo service php5-fpm stop
sudo service php5-fpm start
我没有错。
如果没有日志,我该如何调查?我能做什么?
Answers:
您是否检查了error_log文件中的php-fpm?该文件的位置应在您的php-fpm.conf中声明(在Ubuntu配置中为/etc/php5/fpm/php-fpm.conf,日志文件为/ var / log / php5-fpm / log),并检查您的log_level,如果已禁用(; log_level),请启用它并将其更改为debug。之后,尝试重新启动php5-fpm服务并检查您的日志。
您也可以尝试在前台模式下运行php5-fpm:
# php5-fpm -y /etc/php5/fpm/php-fpm.conf
也许这向您展示了一些有趣的东西。
php-fpm7.0 -F -c /etc/php/7.0/fpm/php-fpm.conf
标准故障排除步骤:
ps aux | grep php-fpm
,然后执行lsof -p $PID | grep log
(如果grep不显示任何内容,请省略grep)。该说明对我有帮助:https : //bugs.launchpad.net/nginx/+bug/1366651
在我的情况下,更新到nginx> 1.6.1,传递给php5-fpm的参数位于fastcgi.conf中,而不是在fastcgi_params中,从而导致PHP始终返回200(确定),但从不返回任何内容,因为不再设置SCRIPT_FILENAME。
我希望它也可以帮助其他人。
对我来说,问题是我的php-fpm.conf
文件没有使用默认的配置文件名-它被命名为/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
我将conf文件重命名为php-fpm.conf
,从而解决了该问题。
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 ]
service php5-fpm start
但没有启动。谢谢!