php页面函数设置超时限制
碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我总结了好几个大家选择适合自己的吧。
对于函数我们可以常用下面方法,直接给函数设置超时时间。
<?php declare(ticks = 1); function a(){ sleep(10); echo "a finishi "; } function b(){ echo "Stop "; } function c(){ usleep(100000); } function sig(){ throw new Exception; } try{ pcntl_alarm(1); pcntl_signal(SIGALRM, "sig"); a(); pcntl_alarm(0); }catch(Exception $e){ echo "timeout "; } b(); a(); b(); ?>
来操作
对于文件或程序代码可使用set_time_limit只是设置你的PHP程序的超时时间
解决方法:
1. 修改php.ini文件:
max_execution_time = 30 ; // Maximum execution time of each script, in seconds
原值30秒,你可以改大点。
改完后记得重启php。该方法改了后对所有程序生效。
2. 修改你的程序,在你需要耗时超过默认值(30秒)的脚本中,加入代码:
set_time_limit(300); // 最大执行时间这里设置300秒
设置成0表示不限时。
本文地址:http://www.phprm.com/develop/58099.html
转载随意,但请附上文章地址:-)