PHP脚本如何不终止?

时间:2014-05-26 04:26:56

标签: php apache performance process

我参与共享托管并不断克服进程限制错误。支持说如果流量低,那么因为低效的脚本没有被终止。由于我在共享主机上并且我只创建了.php文件,所以我真的不知道我的脚本只提供页面(当请求进入并且他们创建时,它们被Apache调用并显示页面无法终止。

即使脚本完成了它的工作,脚本是否有可能继续存在?有没有办法让脚本终止而不是在文件结束时退出?

我的脚本是常规PHP脚本,它们从数据库中获取数据,创建HTML然后退出。他们没有做任何特别的事。

2 个答案:

答案 0 :(得分:2)

您可以设置设置执行限制http://www.php.net/manual/en/function.set-time-limit.php

如果您的意思是执行具有大数字数据的结果集并且不希望在所有数据执行之前终止,例如为数据库中的每个用户发送邮件并等待所有用户收到邮件,那么它可以发送新邮件给那个用户 你可以使用web cron代替http://www.mywebcron.com 限制只发送20个用户的电子邮件,并将其更新发送状态为true,以便仅发送到错误的发送状态

答案 1 :(得分:1)

您的PHP脚本在循环中运行,创建HTML。

  1. 总数取决于数据库中的记录数量。
  2. 他们的查询中可能存在某种泄漏,这使得服务器上的内容变得很重。
  3. 循环只有在完成它的工作后才会结束。
  4. 请粘贴一些代码,以便我们调查并帮助您。在这个时候,我可以说如上所述。

    您可以跟踪脚本运行所需的时间

    <?php 
        /* Put this first thing before the loop begins */
        echo "Start " . date("Y-m-d H:i:s"); 
    ?>
    
    <?php 
        /* Put this at the end of your script */
        echo "End " . date("Y-m-d H:i:s"); 
    ?>