【发布时间】:2016-03-05 17:06:47
【问题描述】:
我的默认 Web 应用程序基于 PHP。但是,为方便起见,我构建了一个 python 脚本来进行一些分析。现在我需要 php 来调用 python 代码并检索 python 代码提供的输出。这两个文件都在同一个服务器上,但是不在同一个文件夹中。我目前不起作用的方法如下:
$cmd = "/usr/bin/python /var/www/include/sCrape.py -u '$my_url' ";
$response = shell_exec($cmd);
$response = json_decode($response, true);
现在,当我尝试打印 $response 时,我得到了 NULL 对象(它应该返回一个我应该通过 json_decode 解码的数组字符串)。我在功能上做错了吗? php 位于 /var/www/html/ 中。以下代码在两个文件位于同一目录时有效:
$cmd = "python sCrape.py -u '$my_url'";
$response = shell_exec($cmd);
$response = json_decode($response, true);
更多信息:my_url 是作为 php 的已清理 $_POST 变量输入的,但我现在尝试完全禁用清理以测试它是否有效,但它仍然没有(仍然是 url 的路径,直到它到达函数更长,因为它必须通过 form-post 传递,而在我的相同文件夹测试用例中,我只是声明了 $my_url)。 -u 后缀表示脚本输入一个 url。
非常感谢您!
【问题讨论】:
标签: php python shell post shell-exec