【问题标题】:How to increase maximum execution time in php [duplicate]如何在php中增加最大执行时间[重复]
【发布时间】: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);

标签: php ini execution-time


【解决方案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 文件中更改它。

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 2013-04-05
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多