扫码关注官方订阅号
写一段死循环,为什么再浏览器直接就崩溃了,而在命令行下可以继续执行?只是因为走的协议不一样吗?求大神给个详细的解释。
while(true){ echo 'a'; }
光阴似箭催人老,日月如移越少年。
如果在浏览器端测试, 因为PHP有各种缓存你可以先调用一下ob_end_flush然后在循环中调用flush()这样就会有内容出来了不过 你还要考虑 php的默认的执行时间, 和浏览器的超时机制
cli模式下 PHP的执行时间默认是不受限制的, 而且也没有默认开启ob之类的功能
php.ini的max_execution_time指定了程序执行时间,如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,而命令行不收此控制。
可以通过set_time_limit(0)没有时间方面的限制
set_time_limit(0)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果在浏览器端测试, 因为PHP有各种缓存
你可以先调用一下ob_end_flush
然后在循环中调用flush()
这样就会有内容出来了
不过 你还要考虑 php的默认的执行时间, 和浏览器的超时机制
cli模式下 PHP的执行时间默认是不受限制的, 而且也没有默认开启ob之类的功能
php.ini的max_execution_time指定了程序执行时间,如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,而命令行不收此控制。
可以通过
set_time_limit(0)没有时间方面的限制