从PHP文件在后台运行Python脚本

时间:2011-03-11 12:55:43

标签: php python

我需要在从PHP文件调用后在后台运行Python脚本。 PHP文件应该继续独立于Python脚本运行(即它不应该等待Python脚本完成处理,而应该继续自己进行处理)。

Python脚本接受一个参数并且不产生输出(它只是在后台处理一些数据),然后退出。我正在运行Python 2.6,PHP 5.2.6和Ubuntu 9.04。

4 个答案:

答案 0 :(得分:2)

您可以使用exec()启动Python interperator,并将其输出发送到文件或重定向到/ dev / null。使用& exec调用中的运算符将导致命令启动并继续PHP而不等待结果。

http://www.developertutorials.com/tutorials/php/running-background-processes-in-php-349/详细介绍。

答案 1 :(得分:1)

PHP Process Control可用于此目的。 proc_open命令可用于启动进程。您可以稍后检查它,读取它的输出等。 查看手册条目:http://www.php.net/manual/en/function.proc-open.php并在Google上搜索PHP过程控制

答案 2 :(得分:0)

我猜测是通过Apache调用PHP文件,在这种情况下你将无法fork()。您应该使您的Python脚本守护进程。查看python-daemon

答案 3 :(得分:0)

您可以使用:

<?php
shell_exec('./test.sh &');
?>

其中./test.sh应该是脚本的执行行