php 我的无限循环在 630 到 660 秒之间停止

发布于 2024-11-17 11:24:44 字数 487 浏览 4 评论 0原文

我写了一个网站爬虫,我使用 while 循环来爬行整个网站,但我的循环在大约 660 秒后停止。

我设置了set_time_limit(0)并使用flush来回显输出,我使用了sleep函数,我认为我的代码是错误的,但我在我的代码中测试了一个简单的while循环:

        while ( 1 ) {
        sleep ( 30 );
        echo "Crawling on the go ..." . time ();
        echo "<br />";
        echo str_pad ( " ", 4096 );
        flush ();

    }

但是这个简单的while在大约660秒后也停止了!我不知道我的问题是什么!我检查了服务器上的 WHM Process Manager,发现我的进程被杀死了! 我想知道服务器防火墙会因为 CPU 或 RAM 使用情况而终止我的进程吗? 请帮助我!

i wrote a site crawler and i use while loop to crawl whole web site but my loop stop after about 660 seconds .

i set set_time_limit ( 0 ) and use flush to echo output and i use sleep function,i thought my code is wrong but i test a simple while loop in my code :

        while ( 1 ) {
        sleep ( 30 );
        echo "Crawling on the go ..." . time ();
        echo "<br />";
        echo str_pad ( " ", 4096 );
        flush ();

    }

But this simple while stop too after about 660 seconds!i don't know what's my problem ! I checked WHM Process Manager on my server and i saw that my process killed !
i wanna know server firewall kill my process because of something like CPU or RAM usage ?
plz help me!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

星星的軌跡 2024-11-24 11:24:44

您需要在页面顶部 PHP 开始标记后写入 set_time_limit(0); 。这对我有用..我希望这也对你有用..

You need to write set_time_limit(0); at top of the page after PHP opening tag. This has worked for me .. I hope this will also work for you too..

祁梦 2024-11-24 11:24:44

set_time_limit() 可能会被拒绝(如果 PHP 处于安全模式则无效)。顺便说一句, sleep() 时间不包含在时间限制中,因此如果您删除睡眠并且脚本正在工作的时间发生更改,则可能是时间限制。要检查这是否是时间限制(其他选项是CPU时间限制),注册关闭函数并检查连接状态(值为2表示超时)

set_time_limit() may be denyed (it has no effect if PHP is in safe_mode). On a side note, the sleep() time is not included in the time limit, so if you remove the sleep and the time script is working is changed, probably it's time limit. To check if this is a time limit (other option is CPU-time limit), register shutdown function and check connection status (value of 2 means time out)

奶茶白久 2024-11-24 11:24:44

您还可以将以下行放入 .htaccess php_value max_execution_time

You can also put the following line in your .htaccess php_value max_execution_time <timeinseconds>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文