1

我有一个简单的 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;      
    ?>

任何帮助都感激不尽。谢谢!

4

1 回答 1

2

没有错误日志,我不能确定,但​​看起来你没有引用你的参数。因此,您传递给 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'].'"';
于 2012-09-14T23:36:01.887 回答