简体   繁体   中英

sh: 1: python: not found when execute python script from php

I'm tring to execute a python script call from php with the command below:

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

But when I execute it I get this

sh: 1: python: not found 

But python is correctly installed in my env.

If I digit

type -a python 

I get the path of python in this env like below (not sure because they are two)

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

At the very beginning of the python script I have include

#! /usr/bin/env python

But I recieve always the same error. How can I solve ?


EDIT

I tried to add python path to the $PATH with command

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

But I get the same error anywhay

Your binary is not in the PATH for the webservers user account.

PHP inherits the PATH from Apache. And most distros set a fairly restrained:

SetEnv PATH /bin:/usr/bin

Either change that, or putenv() in PHP, or use absolute paths instead.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM