Php Sleep()函数没有执行我认为应该执行的操作

Php Sleep()函数没有执行我认为应该执行的操作,php,Php,首先,如果我错了,请纠正我的错误,但我假设在运行Sleep()函数时,它会在脚本中的位置暂停运行脚本,而不是在开始时。如果这是真的,有人能告诉我为什么下面的脚本等待5秒,然后同时显示两个回声。不回显页面加载时的第一条语句,然后等待5秒钟,然后触发第二条回显 echo "Your account username has been updated, you will now be redirected to the home page!"; sleep(5);

首先,如果我错了,请纠正我的错误,但我假设在运行Sleep()函数时,它会在脚本中的位置暂停运行脚本,而不是在开始时。如果这是真的,有人能告诉我为什么下面的脚本等待5秒,然后同时显示两个回声。不回显页面加载时的第一条语句,然后等待5秒钟,然后触发第二条回显

      echo "Your account username has been updated, you will now be redirected to the home page!";
      sleep(5);
      echo "REDIRECT!";

在您的代码中,PHP执行将暂停5秒,但它不会一部分一部分地呈现自己。即,它不会显示第一条语句,然后显示第二条语句。PHP将其所有值保存在输出缓冲区中,并在执行完成时显示它们

发生的情况是,它在输出缓冲区中保留第一个回波的值,然后等待5秒,然后在输出缓冲区中保留另一个回波输出,立即显示所有内容

在JS中,您要做的事情要简单得多

echo "Your account username has been updated, you will now be redirected to the home page!";
echo "<script> document.setTimeout(function() { document.location('redirect.html'); }, 5000); </script>";
echo“您的帐户用户名已更新,您现在将被重定向到主页!”;
echo“document.setTimeout(function(){document.location('redirect.html');},5000);”;

您需要输出缓冲来完成这项工作PHP是服务器端的,也许您最好使用一些JS。不确定这是否适用于PHP,但5秒不是5000秒吗?毫秒还是零?@HenryHarris php sleep使用秒数:int sleep(int$seconds)usleep(),如果需要的话microsecounds@Dagon啊。。。谢谢。:)我不是一个喜欢php的人。