我编写了一个调用python脚本的php脚本,该脚本返回一个html表。 PHP脚本从python脚本获取HTML表并将其打印到页面。 我使用exec来运行python脚本,然后打印返回值。 这个过程需要几秒钟,我想在他等待时向用户打印一条消息(只有一个点开始)。这似乎不起作用,因为我不知道如何告诉PHP"做一些事情,直到exec完成"。
这是我运行python脚本的方式(我正在使用'> / dev / null&'所以它不会等待它完成:
exec("c:\\windows\\system32\\cmd.exe /c c:\\Python27\\python.exe c:\\script.py".' '.$param1.' '.$param2.' '.'> /dev/null &', $return_data, $return_code);
while(!(isset($return_code)))
{
echo '.';
}
我意识到我这样做是因为$ return_code在开始时设置为0。还有其他办法吗?
谢谢!
答案 0 :(得分:0)
您可以查看http://es1.php.net/manual/en/class.thread.php
我不知道它是否适用于Windows。
答案 1 :(得分:0)
要实现进度指示器,您可以使用会话变量,例如 $ _ SESSION [“running”] = true; ,然后使用AJAX调用来轮询状态。
这篇文章显示了一个可能的解决方案: php exec how to see progress