睡眠功能不允许php文件加载在浏览器

jxct1oxe  于 2023-03-28  发布在  PHP
关注(0)|答案(1)|浏览(100)

我有一个PHP脚本:

<?php
set_time_limit(100); // set the maximum execution time to 60 seconds
while (1>0){
echo 'Script execution completed.';
sleep(10); }
?>

它在终端上执行得很好,但在Firefox上甚至没有加载该怎么办?
我已经在php.ini中设置了max_execution_time为100,但没有帮助

9o685dep

9o685dep1#

这很可能是输出缓冲区问题。当Web浏览器请求页面时,它希望在一定的时间内从服务器收到响应。如果响应时间过长,浏览器可能会给予并停止等待服务器响应。
默认情况下,输出缓冲在PHP中是禁用的,这意味着脚本生成的任何输出都会在生成后立即直接发送到客户端。但是,您可以使用ob_start()函数启用输出缓冲,该函数启动输出缓冲。
启用输出缓冲后,脚本生成的任何输出都将存储在缓冲区中,而不是直接发送到客户端。然后,您可以使用各种函数,如ob_get_contents(),ob_end_clean()或ob_flush()来操作缓冲区并将输出发送到客户端。
ob_flush()函数用于刷新输出缓冲区的内容,并将其立即发送到客户端。此函数将当前输出缓冲区中的任何数据发送到客户端,并清除缓冲区。
但是,在echo之后你可以使用

flush(); //Flush the buffer to send the message to browser
ob_flush();

希望这会有帮助!!

相关问题