0

我的 PHP 脚本包含一个长循环来列出来自 mysql 的大约 60,000 个电子邮件地址,但是在 30,000 个之后,我的 php 脚本停止工作并刹车,有时所有 php 脚本都写在白页中(我的页面有图像背景),我增加了 PHP内存限制为无限,但无济于事。什么问题?

4

5 回答 5

2

默认执行时间限制为 30 秒,或 php.ini 中的 *max_execution_time* 值。您的脚本花费的时间是否更长?如果是这样,您可以使用 增加限制set_time_limit

更好的问题是,你在用这么长时间的 60,000 个电子邮件地址做什么?有可能,有更好的方法来做任何花费太长时间的事情。

于 2013-01-05T22:24:48.823 回答
1

您可以在这里尝试两件事。首先,set_time_limit(0). 将其设置为零意味着基本上没有时间限制。

其次,您可能想使用ignore_user_abort(false). 这将确定客户端断开连接是否应中止脚本执行。

两者都将确保您的脚本在需要时一直运行......或者直到您的服务器打包:)

于 2013-01-05T22:27:16.263 回答
1

问题不在内存中,我认为是时候执行了

set_time_limit(VERY_BIG_NUMBER); 

更新:

添加

    ini_set("display_errors","on");
    error_reporting(E_ALL);

并检查错误(如果有)

于 2013-01-05T22:24:28.923 回答
0

检查“max_execution_time”

脚本在中断之前运行多长时间?30秒?

于 2013-01-05T22:24:17.700 回答
0

使用set_time_limit()并增加脚本的最大执行时间。

于 2013-01-05T22:24:35.910 回答