通常来说,默认的PHP
程序最大运行时间是30s
,如果你的程序运行超过这个时间限制,那么会有类似Maximum execution time of 30 seconds exceeded
的报错。
有几种解决办法:
首先先检查是不是你的在做一些傻事,从而消耗了大量的CPU资源及时间,如果确实需要程序长时间运行才能得出结果,那么可以
1> 在php.ini
中增加运行时间:
max_execution_time=300
2> 在PHP
文件中添加如下代码
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
3> 使用.htaccess
文件来增加运行时间:
<IfModule mod_php5.c> php_value max_execution_time 300 </IfModule>
其他一些常见配置参考:
<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
中,添加:
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' ); |
如果是在 IIS 服务下运行 PHP 程序,会发现根据前面的方法修改后,执行长时间的操作还是会报错。错误信息如下:
HTTP 错误 500.0 - Internal Server Error
C:websoftphpphp-cgi.exe - FastCGI 进程超过了配置的请求超时时
C:websoftphpphp-cgi.exe - FastCGI 进程超过了配置的请求超时时
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1369.html