【问题标题】:Which PHP value has a timeout of 900 seconds?哪个 PHP 值的超时时间为 900 秒?
【发布时间】:2014-12-12 09:37:56
【问题描述】:

我有一个在 Ubuntu 14.10 上通过 apache 2.4 调用的脚本。所有站点都可以正常工作,但在我的一台计算机上无法正常工作。页面生成恰好在 900 秒(15 分钟)后终止。

在我的/etc/php5/apache2/php.ini 中没有这样的超时。

可能是什么情况,在超时前等待 900 秒?

Here is my php.ini

我已经安装了 php5-ssh2, mysql, ... 其他一切都是标准的 debian Ubuntu

编辑:它可以与 nfs 连接吗?
因为我整个 /etc 文件夹中的唯一值 900 是:

find /etc/ -type f -name "*" -exec grep -H "=900" {} \;
/etc/init.d/mountnfs.sh:    TIMEOUT=900

【问题讨论】:

  • 为什么会持续运行 15 分钟?对于任何数据库操作或外部通信?取决于很多因素
  • 我更新了我的答案。它与 CLI 无关
  • 可能会有一些外部通信,但脚本确实很大,在其他机器上也能正常工作。它准备通过 ssh2lib 上传一些东西,但在它开始之前它似乎挂起。我试图找出哪个超时导致找出在代码中搜索的位置
  • 启用error_log 看看那里
  • 900s后apache是​​否重启?

标签: php libssh2


【解决方案1】:

PHP 配置中似乎没有任何这样的值。

我还在我的网站上查看了.htaccess

最后我通过在我的网站上搜索 900 的几分之一找到了解决方案:

find . -type f -name "*" -exec egrep -H "=20\*45" {} \;
find . -type f -name "*" -exec egrep -H "=15\*60" {} \;

终于在代码里面发现了这样一个限制:

./app/controllers/jobs_controller.php: $maxwait=15*60; // wait seconds till quit (15 Minutes)

最大的错误源通常位于屏幕前方 30 厘米处

【讨论】:

  • 很棒的发现。只是几个 cmets:egrep -rH "=20\*45" * 会做同样的事情,"=\s*20\*\s*45" 会允许空间,而且你离显示器太近了;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多