sh: 1: python3: не найдено при запуске из php - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь запустить сценарий python из php, и он дает мне эту ошибку

sh: 1: python3: not found

Код php:

exec('python3 ./myscript.py data.json 2>&1', $output);

Он запускается ОК с терминала, я даже попытался запустить python3 с терминала как www-data, и он работает

$ sudo -u www-data python3 -V
Python 3.5.3

Выполнение с полным путем exe c ('/ usr / local / bin / python3 ./myscript.py data. json 2> & 1 ', $ output); дает тот же результат.

Сервер SO - это Debian GNU / Linux 8 (jess ie), и я использую nginx

Это сработало для меня в Ubuntu + apache2 среды, но я не знаю, что мне здесь не хватает.

Я читал это , но у него нет решения, а также это , но все способы сделать exe c дают мне ту же проблему.

Также exe c возвращает код ошибки 127, команда не найдена, shebang - #! / usr / bin / env python3 , и если я сделаю exe c ('echo $ PATH'), он покажет / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin

Мне нужно выполнить сценарий из php или из любого пользовательского интерфейса, потому что пользователю нужно загрузить файл, а затем сценарий выполняется и возвращает измененный файл. Мне нужно, чтобы дюжина пользователей имела доступ для этого, не устанавливая локально сценарий выполнения python.

Вывод команды ls -l / usr / bin | grep python

lrwxrwxrwx. 1 root     root           26 Jan 25  2017 dh_pypy -> ../share/dh-python/dh_pypy
-rwxr-xr-x. 1 root     root         1056 Jan 24  2017 dh_python2
lrwxrwxrwx. 1 root     root           29 Jan 25  2017 dh_python3 -> ../share/dh-python/dh_python3
lrwxrwxrwx. 1 root     root           23 Sep 26  2018 pdb2.7 -> ../lib/python2.7/pdb.py
lrwxrwxrwx. 1 root     root           23 Sep 27  2018 pdb3.5 -> ../lib/python3.5/pdb.py
lrwxrwxrwx. 1 root     root           31 Jan 20  2017 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx. 1 root     root           26 Jan 25  2017 pybuild -> ../share/dh-python/pybuild
lrwxrwxrwx. 1 root     root            9 Jan 24  2017 python -> python2.7
lrwxrwxrwx. 1 root     root            9 Jan 24  2017 python2 -> python2.7
-rwxr-xr-x. 1 root     root      3779512 Sep 26  2018 python2.7
lrwxrwxrwx. 1 root     root            9 Jan 20  2017 python3 -> python3.5
lrwxrwxrwx. 1 root     root           16 Jan 20  2017 python3-config -> python3.5-config
-rwxrwxrwx. 2 www-data www-data  4751184 Sep 27  2018 python3.5
lrwxrwxrwx. 1 root     root           33 Sep 27  2018 python3.5-config -> x86_64-linux-gnu-python3.5-config
-rwxrwxrwx. 2 www-data www-data  4751184 Sep 27  2018 python3.5m
lrwxrwxrwx. 1 root     root           34 Sep 27  2018 python3.5m-config -> x86_64-linux-gnu-python3.5m-config
lrwxrwxrwx. 1 root     root           10 Jan 20  2017 python3m -> python3.5m
lrwxrwxrwx. 1 root     root           17 Jan 20  2017 python3m-config -> python3.5m-config
lrwxrwxrwx. 1 root     root           29 Jan 24  2017 pyversions -> ../share/python/pyversions.py
lrwxrwxrwx. 1 root     root           33 Jan 20  2017 x86_64-linux-gnu-python3-config -> x86_64-linux-gnu-python3.5-config
lrwxrwxrwx. 1 root     root           34 Sep 27  2018 x86_64-linux-gnu-python3.5-config -> x86_64-linux-gnu-python3.5m-config
-rwxr-xr-x. 1 root     root         3229 Sep 27  2018 x86_64-linux-gnu-python3.5m-config
lrwxrwxrwx. 1 root     root           34 Jan 20  2017 x86_64-linux-gnu-python3m-config -> x86_64-linux-gnu-python3.5m-config
...