作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
PHP 作为 Apache 模块运行。
脚本以:ini_set('max_execution_time', 300);
它的作用基本上是连接到数据库,执行大型SELECT
查询并循环结果,将它们写入文件并在每次使用显式写入后回显“结果正常” >flush();
没有 sleep()
调用。
这是我的同事出于备份目的而制作的“测试”脚本,预计运行长达几个小时!我以为我知道脚本执行时间限制,并认为他的脚本会在 300 秒后超时......但事实并非如此!
它是从 Web 浏览器调用的。页面保持打开状态,我们可以看到实时回显的结果。
为什么没有超时?更奇怪的是,其中一个测试发出了“超过了 300 秒的最大执行时间”,但这至少在执行 2 小时后出现!
这是怎么回事? max_execution_time和flush()之间有什么需要理解的,或者浏览器窗口保持打开状态吗?
最佳答案
正如您在 set_time_limit 函数的手册页上看到的那样,here您设置的总执行时间仅影响实际脚本。数据库查询或任何其他外部调用所花费的时间不计算在内(如果操作系统不是 Windows)。
关于PHP 脚本运行时间比 max_execution_time 长得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911635/
我是一名优秀的程序员,十分优秀!