使用浏览器中的shell_exec将参数从php传递给python

时间:2012-09-14 22:26:42

标签: php python browser crash command

我有一个简单的PHP脚本,它将几个变量传递给shell_exec命令并运行python脚本。当我从shell运行这个PHP脚本时它工作得很好。但是,当我从浏览器运行php脚本时,它会导致服务器崩溃。我用exec和shell_exec php函数试过这个。为什么我从shell或浏览器运行脚本是否重要?

为了记录,我可以成功地从浏览器运行其他命令,例如“tar -xcpvf path.tar.gz”

以下是浏览器出现问题的php脚本:

    <?php
    $inputs = array(    
    'location' => "Los Angeles",
    'date' => '11/01/2012',
    );
    $cmd = 'python simple.py '.$inputs['location'].' '.$inputs['date'];
    $results = shell_exec($cmd);
    echo $results;      
    ?>

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

没有错误日志,我无法确定,但看起来你没有引用你的参数。所以你传递给shell_exec的实际命令是:

python simple.py Los Angeles 11/01/2012

你(想必)想要的是:

python simple.py "Los Angeles" "11/01/2012"

为此,您的$ cmd行应如下所示:

$cmd = 'python simple.py "'.$inputs['location'].'" "'.$inputs['date'].'"';