php函数file_get_contents运行提示Fatal error: Maximum execution time of 120 seconds exceeded in解决方法

发布时间:2020-04-09编辑:脚本学堂
这种情况是采集运行超时导致的,因为php页面默认的运行时间为120秒,超过这个时间就会自动结束。解决方法是在上方加set_time_limit(0);这样就可以一直运行,直到采集结束。
set_time_limit(0); //意思是永不超时,直到整个页面运行结束。
set_time_limit(XXX);  这里的XXX可以换成数值,多少数值就代表多少秒。

举例说明:
<?php

$bm=array("101010100","101010200","101010300","101010400","101010500","101010600",
"101010700","101010800","101010900","101011000","101011100","101011200")
for($i=0;$i<count($bm);$i++){
	$a = file_get_contents("http://www.jb200.com/".$bm[$i].".shtml");
        file_put_contents($bm[$i].".txt",$a);
}
?>


上面的例子 假设 $bm是一个很大的数组,通过for循环让 file_get_contents函数循环的采集每个页面,然后通过  file_put_contents函数写到txt文件中,但是由于页面过多导致没有采集完,程序就因为页面超时而停止了,在上面的<?php 后面加上set_time_limit(0); 页面就会一直执行,直到所有页面采集完毕。