【问题标题】:sh: 1: python: not found when execute python script from phpsh:1:python:从php执行python脚本时找不到
【发布时间】:2020-10-31 21:39:00
【问题描述】:

我正在尝试使用以下命令从 php 执行 python 脚本调用:

$output = shell_exec('python /var/www/html/sna/server/userManagement.py '. $user.' '. $pass .' \''.$action.'\' 2>&1');

但是当我执行它时,我得到了这个

sh: 1: python: not found 

但是 python 已正确安装在我的环境中。

如果我数字

type -a python 

我在这个环境中得到了 python 的路径,如下所示(不确定,因为它们是两个)

python is /home/leonardo/miniconda2/bin/python
python is /home/leonardo/miniconda2/envs/sna/bin/python

在 python 脚本的最开始我包含了

#! /usr/bin/env python

但我总是收到同样的错误。我该如何解决?


编辑

我尝试使用命令将 python 路径添加到$PATH

export $PATH:/home/leonardo/miniconda2/envs/sna/bin/python

但我还是遇到了同样的错误

【问题讨论】:

    标签: python php python-2.7 conda miniconda


    【解决方案1】:

    您的二进制文件不在网络服务器用户帐户的 PATH 中。

    PHP 从 Apache 继承 PATH。而且大多数发行版都设置了相当克制的:

    SetEnv PATH /bin:/usr/bin
    

    要么更改它,要么在 PHP 中使用 putenv(),或者使用绝对路径。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2019-09-23
    • 2018-03-31
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    相关资源
    最近更新 更多