首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php5-fpm崩溃

php5-fpm崩溃
EN

Stack Overflow用户
提问于 2013-01-27 05:25:01
回答 1查看 176关注 0票数 2

我有一个运行debian和php5的php服务器(nginx),php5-fpm似乎随机崩溃,如果我调用php文件,它会回复504坏网关。

当它处于崩溃状态时,当我执行sudo /etc/init.d/php5-fpm时,它会说它正在运行,但在我执行sudo /etc/init.d/php5-fpm之前,它仍然会给出504坏网关

我在想,这可能与我的一个php文件有关,这个文件一直处于无限循环中,直到某个事件发生( mysql数据库中的更改),或者直到它超时。我不知道这是不是一件好事,或者我是否应该让循环在超时发生之前退出。

谢谢你的建议!

EN

回答 1

Stack Overflow用户

发布于 2015-04-23 16:31:20

首先查看nginx error.log中的实际错误。我不认为PHP崩溃了,只是你的循环正在使用所有可用的php-fpm进程,所以没有空闲的进程来服务你下一个来自nginx的请求。这应该会在日志中产生超时错误(nginx将等待一段时间以等待可用的php-fpm进程)。

关于你的第二个问题。你不应该为此使用无限循环。如果你这样做了,在循环中插入sleep()命令-否则你的CPU会因该循环而超载,数据库也会因查询而超载。

另外,我想让一个PHP进程在该循环中等待事件就足够了。在这种情况下,使用某种类型信号量(db中的文件或信息)让其他进程知道某个进程已经在等待该事件。否则,您总是会吃掉所有可用的PHP进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14541737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档