我使用while循环输出"。"服务器端脚本使用exec运行。这种情况很有效,因为它永远不会停止运行,即" ........"会继续建立无限!
有人知道在客户端完成运行后进行更新的方法:
$dbupdate = ($siteurl."/data_update.php");
$runupdate = exec("nohup curl ".$dbupdate." > /dev/null 2>&1 & echo $!");
while(exec("ps $runupdate"))
{
echo(" . ");
ob_flush(); flush();
}
答案 0 :(得分:0)
这是因为while()
将继续执行,直到条件为false/null/0
,并且exec()
返回void。
DOCS:http://php.net/manual/en/function.exec.php
这样的事可能会有所帮助吗?
$runupdate = exec("nohup curl ".$dbupdate." > /dev/null 2>&1 & echo $!");
// Spitballing here...
$pid = true;
// Execute only while $op is strictly true, and not the PID that `echo $!` returns
while( $pid === true )
{
exec("ps $runupdate", $pid);
echo(" . ");
ob_flush(); flush();
}