问题在PHP中调用Python脚本导入BeautifulSoup4

时间:2018-05-10 03:44:30

标签: php python beautifulsoup

我有一个调用Python脚本的PHP文件,然后返回输出到PHP的值。

$price = system("/usr/local/bin/python3 /full/path/script.py", $retval);

出于测试目的,由于此错误,我在Python脚本中注释了所有内容,除了打印要返回的字符串。如果我这样,它会返回该字符串,但如果我取消注释该行

from bs4 import BeautifulSoup

然后失败了。我拥有的其他导入,用于sys和请求,没有任何问题,但是当我导入BeautifulSoup时,没有返回任何内容,我得到$ retval 1.从命令行运行完整的Python脚本工作完美但是当我使用PHP执行该命令失败。

什么会阻止它在PHP中正常工作,但在命令行中完成后它可以正常工作?我已经确保bs4安装了pip但我知道无论如何,因为它在命令行中工作正常。

1 个答案:

答案 0 :(得分:0)

试试这个。这是我唯一一次为我工作的命令。 确保python路径正确。在我的mashine我安装了anaconda包,所以路径是不同的。请记住,如果您在Apache服务器上运行php,则将该命令称为apache" www-data"用户而不是您登录的用户。

exec('/usr/local/bin/python3 /full/path/script.py 2>&1', $out);