PHP exec命令运行python脚本但不运行python3

PHP exec command runs python script but not python3

我目前在OSX上安装了python 2.7,最近安装了3.5.2。

我正在使用XAMPP在Mac上运行本地Web服务器,并且当我从apache中执行python脚本时,它可以正常加载:

1
2
$executePython ="python" . __DIR__ ."/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");

但是,当我用python3替换python时,我的脚本拒绝运行。 我可以使用两个版本从命令行手动调用它,但是似乎apache帐户/守护程序无法访问python3。 这与我忽略的配置文件有关吗?


我们不想弄乱最新OSX上的系统范围路径。 如果您像这样在脚本中添加python3路径,然后执行常规操作,该怎么办

1
2
3
putenv("PATH=/usr/local/bin/:" . exec('echo $PATH'));
$executePython ="python3" . __DIR__ ."/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");

putenv只是将python3路径添加到XAMPP apache中的任何当前路径。