【问题标题】:How can I set the maximum execution time for a PHP script?如何设置 PHP 脚本的最长执行时间?
【发布时间】:2011-04-12 16:22:31
【问题描述】:

我想更改 PHP 脚本的最长执行时间。在我尝试过的脚本中

ini_set("max_execution_time", "1000");

set_time_limit(1000);

一起和分开。

我还在 .htaccess 中添加了这一行:

php_value max_execution_time 1000

php.ini 已关闭安全模式,并且 Apache 服务器具有标志 AllowOverride All。我必须怎么做才能让服务器允许更长的执行时间?

【问题讨论】:

  • 你试过在 php.ini 文件中正确设置吗?
  • Apache 的 AllowOverride 与 PHP 设置无关。
  • br.php.net/manual/en/configuration.changes.php 尝试设置并在获取值后检查它...
  • 我忘了提到我在.htaccess 中放了一个php_value max_execution_time 1000,这就是我提到AllowOverride 的原因。
  • 你是直接向apache发送请求吗?即使 apache 没有,代理也可能超时。如果你在调用set_time_limit(1000); 之后运行var_dump(ini_get('max_execution_time'), ini_get('safe_mode'));,你会得到什么?

标签: php apache execution-time


【解决方案1】:

在 ini 文件中设置变量对我有用:

max_execution_time = 1000;

set_time_limit() 应该也可以工作,只要它不在安全模式下。

【讨论】:

    【解决方案2】:

    如果您正在寻找在 .htaccess 中使用的 Apache2 指令或一个 VirtualHost 的配置,您可能需要 php_admin_value:

    php_admin_value max_execution_time 1000
    

    AFAIK 这仅适用于 mod_php

    【讨论】:

    • 在虚拟主机中修改此指令是否存在安全问题?
    • 我不这么认为。 php_admin_value 和 php_value 基本上是有区别的,后者允许 ini_set() 改变值,前者不允许。见ma.ttias.be/…。不过,您可能要小心在整个 VirtualHost 中允许长时间运行。也许在 标记中使用它更细化。
    • 你能告诉我用位置标签写什么吗?
    猜你喜欢
    • 2011-01-08
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多