虽然显示器不会停止运行(php)

时间:2016-03-08 06:22:57

标签: php while-loop

我使用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();
}

1 个答案:

答案 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();
}

点击此处的文档:http://php.net/manual/en/function.exec.php#88704