我想要的是什么: $ _SESSION变量应该等于"阶段1"对于脚本的前5秒,然后应更改为" Stage 2"。
我得到了什么: $ 5STHION变量在5秒结束之前根本没有设置,此时它被设置为"阶段1"并立即"第2阶段"。
session_start();
$_SESSION['variable']='Stage 1';
sleep(5);
$_SESSION['variable']='Stage 2';
我做错了什么?
(我需要这个代码概念,以便能够使用AJAX在另一个页面上获取$ _SESSION变量,以便实时跟踪长PHP脚本的进度。)
编辑:我认为我意识到了这个问题:当服务器忙于在一个页面中调用sleep
时,服务器就会挂起并且#34;直到该脚本完成。因此,当尝试在另一个页面上检索$_SESSION['variable']
时,页面只是等待(正在连接...),直到第一页完成其sleep
,然后才会执行服务器将第二页发送到浏览器。
我只需要升级到更好的服务器吗?(我目前正在使用1和1最便宜的托管计划)
答案 0 :(得分:0)
我在另一篇文章中看到了一些可能对你有用的东西。
尝试在文档顶部添加
$n = 'Your number'; $dRes1 = sqrt((5*pow($n, 2))-4); $nRes1 = (int)$dRes1; $dDecPoint1 = $dRes1 - $nRes1; $dRes2 = sqrt((5*pow($n, 2))+4); $nRes2 = (int)$dRes2; $dDecPoint2 = $dRes2 - $nRes2; if( !$dDecPoint1 || !$dDecPoint2 ) { echo 'True'; } else { echo 'False'; }
。机会是 它达到“最长执行时间”并导致脚本 终止。