【问题标题】:Server gives error 500 on a loop with sleep - php服务器在带有睡眠的循环中给出错误 500 - php
【发布时间】:2013-06-19 15:26:54
【问题描述】:

我在 php 中遇到内部服务器错误。

循环基本上是这样做的:

  for ($i = 1; $i <= 9; $i++) { 
   sleep(5); 
  }

它的执行时间限制设置为 120,还设置了内存限制和显示错误。

set_time_limit(120);
ini_set('memory_limit', '128M');
ini_set ('display_errors', 'On');

我收到 500 内部服务器错误。

并且同一服务器中的其他脚本在循环时停止工作。

【问题讨论】:

  • 您的 PHP 错误日志中是否还有其他错误/警告?我刚刚在本地对其进行了测试,它按预期工作。
  • 你为什么这么睡,出于好奇?
  • minitech:那个循环只是一个例子。它实际上做得更多,但我不能告诉你。基本上它会定期检查另一种方法的响应,并在 X 时间后停止
  • 如果您将 PHP 作为 CGI 运行,这是 IIS 的默认设置,您的 HTTP 服务器中有一个单独的计时器,它指示在抛出 HTTP 500 之前它将等待多长时间。检查一下。
  • 与 win32 上的 @Sammitch for Apache 相同 - 验证您没有达到导致 500 的替代限制。

标签: php internal-server-error


【解决方案1】:

还有另一个运行时配置在 您必须更改 ma​​x_execution_time 在 php.ini 中 通常此属性设置为 30 秒,您可以将其增加到 100 秒

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2016-11-28
    • 2016-06-18
    相关资源
    最近更新 更多