Python не распознается как внутренняя или внешняя команда, работающая программа или командный файл с использованием PHP passthru () - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь вызвать свой скрипт на python из php с помощью функции passthru (). Я уже сделал это успешно и для разработки я использовал xampp, теперь в какой-то момент я вручную установил apache, php и другие дополнения. Я также внес изменения в apache conf, чтобы мои скрипты на python работали, некоторые из них работают, когда я вызываю их напрямую через ajax, но такие скрипты:

<?php

passthru("python C:/Apache24/htdocs/app1/pyscripts/export_zakup.py GARČIN
2>&1",$retval);
echo $retval;

?>

дай мне результат, как: 'python' не распознается как внутренняя или внешняя команда, работающая программа или командный файл. 1

Также, когда я копирую python C: /Apache24/htdocs/app1/pyscripts/export_zakup.py GARČIN в мой cmd, он работает правильно. Я уже потратил несколько часов, пытаясь выяснить, где проблема, но безуспешно. Кто-нибудь знает, где проблема?

1 Ответ

1 голос
/ 03 апреля 2019

Во-первых, найдите, где находится исполняемый файл Python, запустив which python из командной строки:

$ which python
$ /usr/bin/python

Затем используйте полный путь к исполняемому файлу в вашем PHP-скрипте:

passthru("/usr/bin/python C:/Apache24/htdocs/app1/pyscripts/export_zakup.py GARČIN
2>&1",$retval);
echo $retval;

Имейте в виду, что путь будет отличаться на компьютерах с Windows и Linux.Например, последние версии Windows обычно устанавливают исполняемый файл в C:\Python27\, поэтому полный путь будет C:\Python27\python

...