【发布时间】:2012-07-02 08:08:56
【问题描述】:
我已经尝试了所有方法来更改 php 爬虫脚本的 max_execution_time,以便它可以无限运行。
我已将 php.ini 文件设置 max_execution_time 更改为 0 或 100000000 但没有任何变化
我也尝试使用ini_set('max_execution_time', 0);从php脚本本身设置它
所有 php 脚本都会抛出相同的错误 Fatal error: Maximum execution time of 3000 seconds exceeded,我可能会遗漏什么以及如何确保没有最大执行时间限制?
php 脚本
<?php
ini_set('MAX_EXECUTION_TIME', -1);
error_reporting(E_ALL); // turn on all errors, warnings and notices for easier debugging
//ini_set('max_execution_time', 123456);
ini_set('max_input_time', -1);
ini_set('memory_limit', '512M');
set_time_limit(0);
date_default_timezone_set('Europe/London');
/*code which scrapes websites*/
?>
phpinfo()
max_execution_time 0 0
max_input_time -1 -1
【问题讨论】:
-
在 php.ini 上设置不同的 max_execution_time 后是否重新启动了 apache 和 PHP? :)
-
我认为你应该首先优化你的脚本。 3000 秒对于一个 php 文件来说是很长的时间。否则你应该通过命令行运行你的脚本。
-
对不起,我在看足球,当 no1 回答时我忘记了。
-
@Stony 很难优化一个 php 爬虫。
-
是的,你赢了 :D 但是当你做一个 phpinfo();为 max_execution_time 设置了哪个值?并且真的加载了正确的 php.ini 文件吗?还有一个非常常见的错误...在您的 php.ini 文件中搜索第二个条目;)
标签: php time web-crawler