【问题标题】:PHP script calling itselfPHP脚本调用自身
【发布时间】:2012-06-26 15:07:18
【问题描述】:

我想知道执行 PHP 脚本有一个限制,我想知道如果我找到一种方法让脚本调用自身并在完成执行后附加一个参数,那么 max_execution_time 的计时器是否会再次从 0 开始。这可能吗?

【问题讨论】:

  • 是的。你为什么不试试?
  • 是的,因为它是一个新实例,但除非您生成并释放该进程,否则它将在初始脚本终止时发送 SIGHUP。使用set_time_limit() 会更好地增加执行时间
  • @lorenzo-s:因为目前我不知道该怎么做,所以我在尝试之前询问了它是否可能。反正我没问怎么做。
  • @DaveRandom:好的,我会进一步调查,谢谢。
  • 深思熟虑,当关闭处理程序运行时计时器会重置:) 请注意,Web 服务器也可能有 Web 进程超时

标签: php


【解决方案1】:

只需在脚本顶部执行此操作:

ini_set("max_execution_time","300");

在哪里300 or any integer value is the number of seconds the script should be allowed to run for
记住:它必须在脚本的顶部

【讨论】:

  • 有没有可能这不起作用?
  • 不会,会一直生效。只要你把它放在脚本的顶部!
  • 如果对你有帮助,别忘了给我的答案投票...干杯:)
  • 非常感谢! :-) 目前我似乎无法投票,但我什么时候可以回来投票。
  • “有没有可能这不会生效?” ;是的 - 有一种可能性,正如 php.net 上的文档所说:当 PHP 在安全模式下运行时,此功能无效。除了关闭安全模式或更改 php.ini 中的时间限制之外,没有其他解决方法。
【解决方案2】:

是的,它每次都会创建一个新实例。

您可以通过set_time_limit() 增加执行时间

例子:

您的脚本持续 20 秒,但您还需要 20 秒,请使用:set_time_limit(20)

但如果您想增加最大执行时间,请更改您的 php.ini 值:max_execution_time

【讨论】:

  • 这台服务器(不知什么原因)似乎不接受 set_time_limit
  • 更改您的 php.ini 值:max_execution_time
  • 问题是我根本做不到:它是共享主机,你不能修改 PHP.ini。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多