我有一个简单的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;
?>
任何帮助都将不胜感激。谢谢
如果没有错误日志,我不能确定,但看起来你没有引用你的参数。因此,您传递给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'].'"';