当我从终端运行我的代码时,我得到了输出。 但是当我使用以下内容从我的php页面运行相同的内容时:
$command = escapeshellcmd($commandstring);
$output = shell_exec($command);
它没有输出..没有错误..没有..
当我从我的python代码中删除此导入时
from sklearn.ensemble import RandomForestClassifier
然后它在输出中显示错误
name' RandomForestClassifier'未定义
然后我用
import sys; print sys.path
查看从PHP和终端
运行的b / w差异.local/lib/python2.7/site-packages
从php运行时,这个不存在。
对此有任何永久解决方案吗?
如果我可以用php代码本身修复它,对我来说会更好。
我能够轻松地从php运行其他python代码并显示输出。但是这个必须导入这一行
from sklearn.ensemble import RandomForestClassifier
答案 0 :(得分:0)
您可以尝试添加" 2 - ;&安培; 1"在$ commandstring的末尾,所以stderr将重定向到stdout并被shell_exec()捕获。可能会出现一些错误消息。
如果这没有解决您的问题,请尝试运行一个简单的" Hello world"来自PHP的python脚本。您将知道问题是来自PHP部分还是python部分。