如何在php中增加最大执行时间[重复]
Posted
技术标签:
【中文标题】如何在php中增加最大执行时间[重复]【英文标题】:How to increase maximum execution time in php [duplicate] 【发布时间】:2013-04-16 18:33:01 【问题描述】:我想在 php 中增加 最大执行时间,而不是通过更改 php.ini
文件。
我想从我的 php 文件中增加它。
这可能吗?
【问题讨论】:
使用 set_time_limit(n) 其中 n 是以秒为单位的时间 此问题已被否决并标记为重复,但它的答案集比所述重复要丰富。 您可能还需要增加服务器的最大执行时间。 使用 ini_set('max_execution_time', 0);获得无限的执行时间。要忽略用户中止并允许脚本永远运行,请使用 ignore_user_abort(true); 【参考方案1】:ini_set('max_execution_time', '300'); //300 seconds = 5 minutes
ini_set('max_execution_time', '0'); // for infinite time of execution
把它放在你的 PHP 脚本的顶部,让你的脚本松散!
取自Increase PHP Script Execution Time Limit Using ini_set()
【讨论】:
适用于windows但不适用于linux。 适用于 Linux (php-5.2.10-1.el5.centos.rpm) 这个变化只适用于当前运行的脚本?还是新的最大限制仍然存在? 根据这里:php.net/manual/en/function.ini-set.php,“配置选项将在脚本执行期间保持这个新值,并在脚本结束时恢复” 需要注意的是,Web 服务器也有超时指令,如 Apaches TimeOut 这是引用自 here " 您的 Web 服务器可以有其他超时配置,这也可能会中断 PHP 执行. Apache 有一个 Timeout 指令,而 IIS 有一个 CGI 超时功能。两者都默认为 300 秒。有关详细信息,请参阅您的 Web 服务器文档。"【参考方案2】:如果safe_mode
关闭,则使用以下语句
set_time_limit(0);
【讨论】:
【参考方案3】:使用PHP函数
void set_time_limit ( int $seconds )
最大执行时间,以秒为单位。如果设置为零,则没有时间限制。
当 PHP 在安全模式下运行时,此功能无效。有 除了关闭安全模式或更改时间之外没有其他解决方法 php.ini 中的限制。
【讨论】:
我不知道为什么这被否决了,因为这是一个完美的答案。赞成。【参考方案4】:您可以尝试set_time_limit(n)
。但是,如果您的 PHP 设置在安全模式下运行,您可以仅从 php.ini
文件中更改它。
【讨论】:
以上是关于如何在php中增加最大执行时间[重复]的主要内容,如果未能解决你的问题,请参考以下文章