我发现在 php 中(至少在 linux 上)sleep(seconds);不计入超时!
所以,我的问题是,我可以用什么“代替” sleep(300);等等在一个简单的 php 脚本中来测试这些超时?
(我正在尝试调试一些通过 cgi/fastcgi 运行的 php,在 5.4 以上的 php 上删除了安全模式。尽管已弃用的设置仍然存在于我们的旧 php.ini 中,但设置为关闭。)
您可以简单地创建一个
while(true) {}
循环。如果您想等待少于 300 秒,您可以在循环之前保存当前的 time()
以及 X 秒后的 break
。
我在这里发布问题后,我研究了时间等,并使用了 time() + 30 > 时间等...明天可以发布确切的用法(现在需要 zzz),但它似乎有效。我现在看到有人也发布了一段正确的选项。
更新: 为了控制“特定”的时间量,这就是我所需要的,这是我在发布这个问题后最终使用的几分钟时间,并且正在为我工作:
$curtime = time(); // time — Return current Unix timestamp
while ($curtime + 31 > time()) { }
echo "Testing timeouts and other errors."