【问题标题】:ini_set, set_time_limit, (max_execution_time) - not workingini_set, set_time_limit, (max_execution_time) - 不工作
【发布时间】:2009-10-19 18:57:23
【问题描述】:

如果我执行set_time_limit(50)ini_set('max_execution_time',50),那么当我在本地主机上回显ini_get('max_execution_time') 时,我得到50,但是当我在另一台服务器上执行此操作时,它回显默认的30 并完全忽略我的请求.这是为什么呢?

【问题讨论】:

    标签: php mysql connection


    【解决方案1】:

    您无法更改此设置 ini_set() 在安全模式下运行时。 唯一的解决方法是关闭 安全模式或通过更改时间 php.ini 中的限制。

    -- PHP 手册,运行时配置,description of max_execution_time

    许多主机在安全模式下运行。另一台服务器很可能就是其中之一。

    编辑:set_time_limit 也有同样的限制:

    PHP 时该函数无效 正在安全模式下运行。没有 除了关闭安全之外的解决方法 模式或改变时间限制 php.ini.

    -- PHP 手册,set_time_limit 页面

    【讨论】:

    • 我会给你答案检查,但我只是在刷新页面之前想通了!啊!但是,脚本不会在 30 秒内出错吗?为什么它告诉我“与服务器的连接已被重置”有什么想法?
    • 猜测,PHP 只是关闭连接而没有完成,因此与服务器的连接已被重置消息。出于好奇,您正在执行哪些操作需要超过 30 秒?除非您使用 XML 或速度较慢的数据库进行大量工作,否则必须有某种方法可以减少处理时间。
    • 我必须通过 RETS (rets.org) 规范连接到多个 MLS 提供商以获取列表数据。每个列表大约 1k,大约 5-12 个原始图像?k。我将数据插入 MySQL,然后它进入下一个,(在一个循环中)。然后它必须对每个列表和其他一些花哨的无意义进行地理编码。
    【解决方案2】:

    GoDaddy 是否允许您编辑他们的远程 PHP.INI 文件,或者(实现相同的功能)在运行时设置这些选项?许多限制性主机(我不知道 GoDaddy 的这一点或其他方式)不会让您通过配置文件或在运行时像在 WAMP 上那样使用 PHP 选项。可能是尽管您仍在调用该函数,但它没有被应用。

    使用

    echo 'Time Limit = ' . ini_get('max_execution_time') .
    

    手册说如果在 PHP.INI 中设置了它,它将覆盖这个运行时。 PHP Manual on set_time_limit

    【讨论】:

    • 运行其他东西,针对它更短/更容易的东西并检查响应。
    【解决方案3】:

    您可以更改 max_execution_time。
    将 1 行 (max_execution_time = 600) php5.ini 上传到您的根文件夹(php.ini 所在的位置)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 2012-08-13
      相关资源
      最近更新 更多