我有一个简单的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;
?>
任何帮助将不胜感激。谢谢!
答案 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'].'"';