首页 > 开发 > PHP > 正文

php页面函数设置超时限制

2024-05-04 21:59:44
字体:大 中 小
来源:转载
供稿:网友

碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我总结了好几个大家选择适合自己的吧.

对于函数我们可以常用下面方法,直接给函数设置超时时间来操作,代码如下:

  1. declare(ticks = 1); 
  2.     function a(){ 
  3.     sleep(10); 
  4.     echo "a finishi "; 
  5. } 
  6. function b(){ 
  7.     echo "Stop "; 
  8. } 
  9. function c(){ 
  10.     usleep(100000); 
  11. } 
  12.  
  13. function sig(){ 
  14.     throw new Exception; 
  15. } 
  16.  
  17. try{ 
  18.     pcntl_alarm(1); 
  19.     pcntl_signal(SIGALRM, "sig"); 
  20.     a(); 
  21.     pcntl_alarm(0); 
  22. }catch(Exception $e){ 
  23.     echo "timeout "; 
  24. } 
  25.  
  26. b(); 
  27. a(); 
  28. 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表示不限时.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表