服务器使用我的PHP脚本继续创建进程

时间:2009-08-27 07:56:26

标签: php codeigniter process

我在共享主机服务器(hostgator)上运行PHP脚本。该PHP脚本是使用codeigniter框架编写的。 Hostgator共享托管服务器只允许运行25个进程。我不知道为什么我的脚本继续在服务器上创建进程。 cpanel进程服务器日志如下所示:

2221    /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
30577   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
30343   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
29994   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
32278   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
28528   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.1%    Kill Process
27757   /usr/bin/php /home/megain/public_html/megainfine/index.php  0%  0.2%

CUP使用率几乎为0%,内存使用率仅为0.1-0.3%

这是因为代码不好吗?

或者,任何想法为什么这个过程不断创建?我知道在没有看到我的代码的情况下很难说,但是我想要一些能让我更容易追踪问题的一般方法。


是的,我刚刚询问了服务器支持,他们说他们正在使用fastcgi。但事实是,他们只允许最多25个进程。每当它达到25个进程时,我在浏览时就得到了内部服务器。并且很容易得到25个过程。那我该怎么办?我可以从我的脚本站点做些什么吗?我已经运行了其他脚本,这些脚本不像我的phpbb论坛,但这些过程不会出现在进程中。请建议我。谢谢。

2 个答案:

答案 0 :(得分:1)

可能是PHP脚本使用fastcgi运行。我相信在使用它时,Web服务器将保持PHP进程在重用请求之间运行,这比每次启动新进程更有效。

答案 1 :(得分:0)

这很不寻常。您知道创建这些流程的确切时刻吗?此外,您应该检查ignore_user_abort()函数的代码和ignore_user_abort设置的php.ini。