执行exec时执行某些操作

时间:2014-07-23 08:17:08

标签: php exec

我编写了一个调用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。还有其他办法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以查看http://es1.php.net/manual/en/class.thread.php

我不知道它是否适用于Windows。

答案 1 :(得分:0)

要实现进度指示器,您可以使用会话变量,例如 $ _ SESSION [“running”] = true; ,然后使用AJAX调用来轮询状态。

这篇文章显示了一个可能的解决方案: php exec how to see progress