需要有关 php-fpm 错误 503 的帮助


Need help on php-fpm error 503

我有几天的问题了!我在Vagrant + Puphpet(PHP-FPM和Apache)上使用Symfony 3 + EasyAdmin。

我添加了一个新实体,并尝试从管理员添加一些数据。但是,由于某种原因,我不太理解何时尝试插入数据,我从Apache收到503错误(这意味着它不像Symfony那样风格化)。当我尝试在 Apache 日志中查看时,我发现:

   [Fri Mar 11 13:45:05.240107 2016] [proxy_fcgi:error] [pid 16535:tid 140223207917312] [client 192.168.56.1:34080] AH01067: Failed to read FastCGI header, referer: http://shop-generator.dev/app_dev.php/admin/?action=new&entity=Foe&menuIndex=11&page=1&referer=%252Fapp_dev.php%252Fadmin%252F%253Faction%253Dlist%2526entity%253DFoe%2526menuIndex%253D11%2526submenuIndex%253D0%2526sortField%253Did%2526sortDirection%253DDESC%2526page%253D1&sortDirection=DESC&sortField=id&submenuIndex=0
[Fri Mar 11 13:45:05.249001 2016] [proxy_fcgi:error] [pid 16535:tid 140223207917312] (104)Connection reset by peer: [client 192.168.56.1:34080] AH01075: Error dispatching request to : , referer: http://shop-generator.dev/app_dev.php/admin/?action=new&entity=Foe&menuIndex=11&page=1&referer=%252Fapp_dev.php%252Fadmin%252F%253Faction%253Dlist%2526entity%253DFoe%2526menuIndex%253D11%2526submenuIndex%253D0%2526sortField%253Did%2526sortDirection%253DDESC%2526page%253D1&sortDirection=DESC&sortField=id&submenuIndex=0

我试图用核心进行回溯,但事实证明它非常复杂。

提前谢谢你

编辑

我终于尝试手动将一些数据放入数据库中,一切正常......除了创造...我真的不明白为什么...

我已经用vagrant reload --provision命令解决了 503 类似的问题。

希望对您有所帮助

503通常是service unavailable,这意味着Apache无法与php-fpm进程管理器通信。尝试终止php-fpm并重新启动它。在我的盒子上:

sh-3.2# killall php-fpm
sh-3.2# php-fpm

如果它正常重启并且您的应用可以正常工作,请尝试找出您用完或处理进程的原因。在激烈的调试会话中,当我终止调试时,我经常使用 PhpStorm 发生这种情况。PhpStorm紧紧抓住这种联系。我必须手动终止所有调试过程(或者重新启动 PhpStorm,如果它比"点击-你确定吗-是的 ...点击-你确定-是"更快......等)

如果php-fpm正常重新启动,但问题仍然存在,则可能是您不知道发生了配置更改(例如专用于 php-fpm 的端口号)。

此外,另一个进程可能正在抓取配置的端口。如果其他应用具有php-fpm端口,您应该会看到:

sh-3.2# php-fpm
[11-Mar-2016 08:49:19.765233] ERROR: pid 888, fpm_sockets_new_listening_socket(), line 191: unable to bind listening socket for address '127.0.0.1:8001': Address already in use (48)
[11-Mar-2016 08:49:19.765337] ERROR: pid 888, fpm_init(), line 72: FPM initialization failed
sh-3.2# 

如果发生这种情况,则进行搜寻以确定哪个进程占用了分配给配置文件中php-fpm的端口。

编辑:您从 Apache 发布的特定错误(通常)在超时时发生,例如 FPM 进程花费太长时间才能完成 HTTP 请求。您可能会将调试进程卡在断点上,或者处理时间较长,或者其他一些晦涩的原因:我打开了"文件太多",一个多 Gb 大小的 xdebug 日志文件,等等。