【发布时间】:2016-11-30 01:27:21
【问题描述】:
我目前安装了 Python 2.7 作为 OSX 的一部分,最近安装了 3.5.2。
我正在使用 XAMPP 在我的 mac 上运行本地网络服务器,当我从 apache 中执行 python 脚本时,它可以正常加载:
$executePython = "python " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");
但是,当我将 python 替换为 python3 时,我的脚本拒绝运行。我可以使用这两个版本从命令行手动调用它,但是似乎 apache 帐户/守护进程无法访问 python3。这是否与我忽略的配置文件有关?
【问题讨论】:
-
你能比较一下python和python3的权限/用户组并回答你自己的问题吗?
-
检查 python2.7 和 python3.5 可执行文件的共享和权限显示它们完全相同。还有什么想法吗?
-
我明白了,当您尝试从 php 运行“python3”时,您到底得到了什么?一定是一些错误信息等。
-
我在
$executePython命令后面附加了>>/tmp/errorlog.log 2>&1并在apache 以守护程序用户身份运行时收到了sh: python3: command not found。当我对/usr/local/bin/python3的路径进行硬编码时,它会运行!但是,我只想指定python3,那么如何做到这一点? -
当我
echo $PATH我得到:/usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/git/bin所以我自己的帐户可以从任何地方运行 python3,但 apache 守护程序帐户不能(但它可以运行 python)。
标签: php python apache python-3.x xampp