Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP超时被重写,没有明确的解释_Php_Mysql_Timeout - Fatal编程技术网

PHP超时被重写,没有明确的解释

PHP超时被重写,没有明确的解释,php,mysql,timeout,Php,Mysql,Timeout,我有一个没有定义任何“set\u time\u limit()”的PHP脚本。 PHP.ini最大执行时间=30 该脚本打开一个mysql连接,并在同一个连接上执行变量循环查询,然后在处理后关闭。 循环是可变的,脚本可以在1秒到1000秒之间的任何位置运行。 我希望脚本在默认的30秒限制下中止,但事实并非如此 我怀疑mysql连接正在取代PHP超时默认值,并阻止脚本中止。有人知道这是否可能吗 脚本非常复杂,放在这里没有意义。但它肯定没有时间限制 注意:我不想强加时间限制,这种行为实际上对我的脚本

我有一个没有定义任何“set\u time\u limit()”的PHP脚本。 PHP.ini最大执行时间=30 该脚本打开一个mysql连接,并在同一个连接上执行变量循环查询,然后在处理后关闭。 循环是可变的,脚本可以在1秒到1000秒之间的任何位置运行。 我希望脚本在默认的30秒限制下中止,但事实并非如此

我怀疑mysql连接正在取代PHP超时默认值,并阻止脚本中止。有人知道这是否可能吗

脚本非常复杂,放在这里没有意义。但它肯定没有时间限制

注意:我不想强加时间限制,这种行为实际上对我的脚本有好处。我只是想知道更多关于这种行为的信息。

多亏了Jono20201

所以这个问题解释了这一点:

总结:没有考虑脚本之外花费的时间(例如,MySQL运行查询),因此
set\u time\u limit
max\u execution\u time
没有什么可以做的

除了在窗户上。根据PHP文档:

set_time_limit()函数和配置指令 最大执行时间仅影响脚本的执行时间 它本身在执行之外的活动上花费的任何时间 例如使用system()的系统调用、流操作、, 确定最大值时不包括数据库查询等 脚本已运行的时间。在Windows上不是这样 测量的时间是真实的


也许这与此相关:您是否从命令行运行此脚本?运行CLI时,最长执行时间为0。@Devon,不,我正在客户端服务器上运行。@Jono20201,谢谢提示:这就解释了。我会更新我的问题来说明这一点。