【发布时间】:2018-01-21 06:05:46
【问题描述】:
我在我的一个 PHP 脚本中添加了 set_time_limit(0),我希望脚本调用 API 来获取详细信息,这很慢。
但是 PHP 脚本在我的 PHP 安装上的 set_time_limit(0) 之后不会执行。
提供更多信息。
如果我有这个脚本
<?php
echo "Hello I am here<br>";
set_time_limit(1);
echo "Hello I am still here<br>";
它回来了
Hello I am here
Hello I am still here
如果我有这个
<?php
echo "Hello I am here<br>";
set_time_limit(0);
echo "Hello I am still here<br>";
它不返回任何内容,但浏览器一直在旋转。
我有 OSX sierra,PHP 5.6 对调试的任何帮助都会很棒。
【问题讨论】:
-
您需要发布更多信息。 API 调用需要多长时间?
-
任何依赖无限超时的脚本都会被破坏。如果您需要一个长时间运行的脚本,请将其编写为 shell 脚本并使用 cron 或类似的东西执行它。在您的实例中,我会考虑执行 API 调用并在本地缓存您的网站能够使用的详细信息。 HTTP 服务器的资源有限,如果很多人同时触发那个长请求,它会有效地拒绝你的服务器。
-
wont execute到底是什么意思?因错误而失败,死了,永无止境? -
@Axalix 永无止境。
标签: php macos apache server php-5.6