PHP:无法在后台执行脚本

时间:2016-05-02 17:20:55

标签: php background exec

我在web-server nginx + php-fpm上有主要的php脚本,并尝试使用来自web-browser的GET请求在后台运行另一个php脚本。 main.php中的行代码调用detect.php:

exec("/usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 &");    

detect.php 无法启动。我没有任何错误。

如果要删除“&”:

exec("/usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 ");    

detect.php成功启动。

来自shell bash with“&” :

 sudo -u www-data /usr/bin/php -f /var/www/detect.php 6 > /dev/null 2>&1 &    

脚本detect.php成功启动。

1 个答案:

答案 0 :(得分:0)

试试这个并确保你的php路径正确

        $dir=dirname(__FILE__);
        $file_name="detect.php"; 
        $php_path="/usr/bin/php"; 

        $args = array(6); 

        $command1="cd $dir";
        $command2="$php_path  $file_name ".implode(" ",$args) ." > /dev/null 2>/dev/null &";

        $final_command=$command1."; ".$command2;
        shell_exec($final_command);