【问题标题】:Setting of max_executing time?max_executing时间的设置?
【发布时间】:2012-04-05 22:02:29
【问题描述】:

我有一个带有 debian 的服务器。服务器主机 X 虚拟服务器(例如 1vserver 到磅,第二个到 SQL,第三个用于网站 X 等)。我正在开发一个虚拟服务器。我有一个网站的 apache2。 在我的 php.ini 中,我有 max_execution_time = 300 和 max_input_time = 249 但是当我运行脚本 php 时:

 echo '1';
 sleep(16);
 echo '2';

我收到错误内部服务器错误,但我在 error_log 中没有任何信息。 当我将睡眠设置为 14 秒时 - 这有效...

我的猜测是 -> debian 将执行脚本的时间设置为 15 秒并忽略 php.ini 中的设置。我们的根不知道这是什么。你能帮帮我吗?

我改变了我的脚本:

<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors', true);
ini_set('html_errors', false);
ini_set('error_log', dirname(__FILE__).'script_error.log');
ini_set('display_errors', true);
//set_time_limit(1200);
ini_set("max_execution_time",1200);

echo '1';
sleep(16);
echo '2';
?>

我收到 500 错误,并且 error_log 中没有任何信息。如果 sleep(14) 则可以。

EDIT2:

我更改了 LogLevel na 信息、调试、通知和警告。而且我没有任何有关错误的信息

EDIT3:

问题已解决。问题是服务器磅(http://linux.die.net/man/8/pound)。超时的默认值设置为 15 秒。感谢大家的帮助

【问题讨论】:

  • 根据 phpinfo() 的 max_execution_time 是多少?
  • 来自 phpinfo(); - 我得到 300 作为全球和本地
  • 没什么。我在 error_log 中没有任何信息
  • 如果你有 500 个错误,Apache 必须在某处记录一些关于它的信息,或者你的 Apache 配置有大问题。
  • 我有日志级别警告、通知、调试、信息。并且错误日志中没有错误

标签: php linux apache configuration


【解决方案1】:

添加

set_time_limit(0);

在你的脚本顶部,我希望它对你有用

【讨论】:

    【解决方案2】:

    指令是 max_execution_time 而不是 max_executing_time 尝试改变这个

    【讨论】:

    • 这不是问题。 phpinfo() 说 -> max_execution_time 300
    【解决方案3】:

    max_executing_time 写错了。应该是:max_execution_time

    使用 phpinfo() 查看运行时值是什么,如果它与 ini 中的值不对应,则检查(再次,从 phpinfo() 输出)您使用的是正确的 ini 文件。

    最后,如果 phpinfo() max_execution_time 对应于 ini 中的值,那么您的代码中的某些内容可能正在调用 ini_set('max_execution_time' ...)

    【讨论】:

    • 是的。我在这里犯了名字错误。但是如果我的 phpinfo() 说:300 比相信 ini_set 没有问题,因为我的脚本看起来 echo 'x';睡眠(16);并回显“x”。这一切。我将配置 - php.ini 从服务器复制到本地主机,脚本运行良好。
    • 也许在你的代码的某个地方,调用函数 'set_time_limit' 或 'ini_set("max_execution_time"...'
    • 我在主帖中写了整个脚本。
    【解决方案4】:

    这可能对你有帮助

    ini_set("max_execution_time",1200);
    

    【讨论】:

      【解决方案5】:

      尝试设置 E_ALL 报告级别。就放

      error_reporting(E_ALL);
      

      在你的 php 代码开头的某个地方 它可能会为您提供更多信息。

      【讨论】:

      • 我设置了 ini_set('error_reporting', E_ALL);错误报告(E_ALL); ini_set('log_errors', true); ini_set('html_errors', false); ini_set('error_log', 目录名(FILE).'script_error.log'); ini_set('display_errors', true); ale nic nie mam
      猜你喜欢
      • 2023-01-12
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多