通常来说,默认的PHP
程序最大运行时间是30s
,如果你的程序运行超过这个时间限制,那么会有类似Maximum execution time of 30 seconds exceeded
的报错。
有几种解决办法:
首先先检查是不是你的在做一些傻事,从而消耗了大量的CPU资源及时间,如果确实需要程序长时间运行才能得出结果,那么可以
1> 在php.ini
中增加运行时间:
1 | max_execution_time=300 |
2> 在PHP
文件中添加如下代码
1 | ini_set ( 'max_execution_time' , 300); //300 seconds = 5 minutes |
3> 使用.htaccess
文件来增加运行时间:
1 2 3 | <IfModule mod_php5.c> php_value max_execution_time 300 </IfModule> |
其他一些常见配置参考:
1 2 3 4 5 6 7 8 | <IfModule mod_php5.c> php_value post_max_size 5M php_value upload_max_filesize 5M php_value memory_limit 128M php_value max_execution_time 300 php_value max_input_time 300 php_value session.gc_maxlifetime 1200 </IfModule> |
如果你的环境是wordpress
,那么请在config.php
中,添加:
1 | define( 'WP_MEMORY_LIMIT' , '128M' ); |
如果你使用了其他一些框架,可以修改
ini_set('memory_limit', '128M');
默认情况下,php.ini 中配置的最大执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定的。如果我们有一个需要花费很多时间的工作,比如要发送大量邮件,或者要进行庞大的数据统计分析工作。即使任务没有执行完毕,服务器也会在 30 秒后强行中止正在执行的程序。
1,修改最长执行时间的两种方法
(1)直接修改 php.ini 中 max_execution_time 的数值。
(2)如果没权限修改 php.ini 文件,或者我们想对某些页面进行单独设置。那么也可以在 PHP 程序页面中进行设置,代码如下(数值0 表示没有执行时间的限制)。
1 | ini_set ( 'max_execution_time' , '0' ); |
2,如果使用IIS服务器,记得还要修改“活动超时”时间
如果是在 IIS 服务下运行 PHP 程序,会发现根据前面的方法修改后,执行长时间的操作还是会报错。错误信息如下:
HTTP 错误 500.0 - Internal Server Error
C:\websoft\php\php-cgi.exe - FastCGI 进程超过了配置的请求超时时
解决办法:IIS -> FastCGI 设置-> 双击"php-cgi.exe" ->"活动超时" ,根据需求将这个值提高。