在远程服务器PHP上停止无限循环

时间:2011-09-23 09:12:56

标签: php infinite-loop

我有一个简单的无限for循环,如下所示:

set_time_limit (0);
for (;;)
{
    ... //Doing some stuff including to write to a file
    sleep(300);
}

它正在我的服务器上运行。 (共享主机帐户)

我怎么能阻止它?

4 个答案:

答案 0 :(得分:13)

杀死进程。假设你可以通过ssh访问控制台,你的服务器在linux上运行:

ps -ef | grep php // to get a list of php-processes

kill [process-id] // kill the process by process-id

答案 1 :(得分:2)

您可能希望与托管服务联系并要求他们终止您的脚本。您很可能没有执行访问权限或ssh访问权限。也许你应该建立一个在下次创建无限循环时退出程序的可能性。

答案 2 :(得分:0)

您提到写入文件。

但是,如果您正在写数据库,则可以使用数据库工具临时重命名将触发错误并停止脚本的字段。

共享服务器的困境,快速的开发和错别字。

答案 3 :(得分:0)

假设您正在使用共享的托管服务器,并且无法访问命令行或ssh或托管支持团队...

您最好的选择是使用您的网站管理面板来触发php重新启动。

当您切换php版本/更改php ini参数(例如内存限制)时会发生这种情况