我对我的主机设置在超时方面有一个问题,但实际上我不知道到底是哪一个造成的。当我在php页面中运行这段代码时:
<?PHP sleep(30); echo "Done"; ?>
它给了我"tcp error operation timeout"。
但当我将它改为sleep(20)时,它会成功运行。因此,请帮助我找出我的php ini文件中的哪一项导致了这个超时。然而,我尝试谷歌它,并已经尝试了很多建议,但没有运气,最后我被困在这一点上,让我的php脚本上线。
发布于 2013-03-11 05:35:13
根据错误消息,我怀疑这不是PHP超时,而是实际的web服务器“拔掉插头”(尽管30秒对此来说是一个可笑的短时间限制)。
这肯定不是普通的PHP错误消息,而且您不应该使用sleep引起PHP超时,因为这不会占用实际的CPU时间。
不知道你在哪种主机下运行(Apache?恩吉克斯?IIS?共享主机?越野车?等)很难知道在哪里,即使你可以改变这一点。
发布于 2013-03-11 05:28:38
在您的配置中查看时间限制。
您可以使用下面这行代码修改脚本的时间限制:
set_time_limit(60);默认值id 30s。如果您使用的是不带参数的set_time_limit(),它只会重置计数器,可用总时间将增加30秒。
请看一下文档set_time_limit documentation
发布于 2013-03-11 05:50:22
30秒是默认的php超时,如果你需要sleep(30)你必须增加超时,有两种方法来改变它,从php脚本。
set_time_limit ( int $seconds );
或
ini_set('max_execution_time', int $seconds);
https://stackoverflow.com/questions/15327832
复制相似问题