【问题标题】:set_time_limit() has been disabled for security reasons出于安全原因已禁用 set_time_limit()
【发布时间】:2013-06-30 07:37:54
【问题描述】:

我需要在我的 PHP 脚本中设置 set_time_limit(0); 但我得到了

警告:出于安全原因已禁用 set_time_limit()

我已经尝试在我的 php.ini 中增加 max_execution_time 属性,但没有任何效果。我正在使用 Apache 2.4.4 和 PHP 5.4.12 运行 WAMP 2.4。

编辑:我在本地主机上运行它,而不是共享主机

【问题讨论】:

  • 在共享主机上?请联系您的网络托管服务商。
  • 在共享主机上?他们不会让你。
  • 为什么需要无限制的执行时间?
  • @MikeBrant:我认为这超出了界限,但可能有一百万个理由这样做。
  • @budwiser 我问的原因是因为很多时候,你会看到更多的新手程序员只是盲目地增加超时,而不是查看他们的代码来弄清楚为什么需要这么长时间才能运行,以及他们如何可以让它更有效地运行。

标签: php apache wamp execution-time


【解决方案1】:

您的php.inidisable functions 中似乎禁用了set_time_limit。尝试从那里删除 set_time_limit 是否对您有帮助。

【讨论】:

  • 我认为情况并非如此。它只是我的 php.ini 中的 disable_functions =(空字符串)
  • 嗯,问题是set_time_limit() 在您的系统中被禁用。您没有指定您正在使用的配置,因此无法判断为什么不允许您更改它。但几乎可以肯定的是,在您的配置中的某处,它被设置为禁用。
  • @budwiser,嗯,这个禁用可以被 perdirectory htaccess 覆盖吗?
  • @Pacerier 否。这会删除该功能的全部要点 :)
【解决方案2】:

网络托管公司这样做是为了防止您运行可能影响共享服务器的其他网站的可用性的非常长时间运行的进程。

如果您需要在共享主机上运行,​​您需要找到一种方法来以较小的块完成您需要的工作。

【讨论】:

    【解决方案3】:

    好吧,看起来我只是愚蠢...我在根文件夹中有 .htaccess 文件,因此我不是从本地主机运行脚本,而是从共享主机运行脚本,显然它失败了...删除 . htaccess 它工作正常!

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 2019-11-27
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多