PHP启动脚本超时的脚本

时间:2013-05-18 17:33:24

标签: php web-crawler

我目前正在构建一个网络抓取工具但是要开始我想在我的共享虚拟主机上测试它,显然他们不允许set_time_limit所以我无法确保脚本的运行时间超过30秒。

下次超时之前启动PHP脚本的最佳方法是什么? 我在考虑将最后一次抓取的网址保存在文件中,但还有其他选项吗?

1 个答案:

答案 0 :(得分:1)

编辑: ScallioXTX是正确的,您不能将变量用作goto标签。你可以通过一个非常大的if语句解决这个问题,但是在这一点上我会说最好不要使用goto。这是另一种方法:

<?php

    // Load label number from database or text file into $label_num

    if($label_num <= 1) {
        // Do stuff
    }

    if($label_num <= 2) {
        // Do more stuff
    }

    // ...

?>

旧(不正确)方法:

您当然可以使用gotohttp://us1.php.net/goto

我只会将此作为临时措施,直到您获得更好的托管效果。

这就是我要做的事情:

  1. 在整个代码的不同位置,写一个标签(例如count1:count2:等)。
  2. 在您添加标签的每个位置,将该标签名称写入数据库或文本文件
  3. 在脚本开头,加载该值并跳转到指定的标签
  4. 示例:

    <?php
    
        // Load label number from database or text file into $label_num
    
        if($label_num) {
            goto $label_num;
        }
    
        count1:
        // Do stuff
    
        count2:
        // Do more stuff
    
        // ...
    
    ?>