Я использую PHP и XAMPP
. Я включил порт localhost:8080
и хочу выполнить скрипт Python (Main.py
) из моего скрипта PHP (index.php
). Мой PHP-скрипт находится по адресу:
/Users/User/.bitnami/stackman/machines/xampp/volumes/root/htdocs/index.php
и скрипт Python находится по адресу:
/Users/User/.bitnami/stackman/machines/xampp/volumes/root/htdocs/Main.py
.
Мой скрипт на Python выглядит следующим образом:
print('Hello World')
Мой PHP-скрипт выглядит следующим образом:
<?php
$output = exec('/usr/local/bin/python3 /Users/User/.bitnami/stackman/machines/xampp/volumes/root/htdocs/Main.py ' . ' 2>&1');
var_dump($output);
?>
(/ usr/local/bin/python3
- это вывод which python3
на терминале)
Тем не менее, вывод, который я получаю при localhost:8080
:
string(40) "sh: 1: /usr/local/bin/python3: not found"
Я также протестировал различные варианты моей строки с exec()
, написав, например, exec('/Users/User/.bitnami/stackman/machines/xampp/volumes/root/htdocs/Main.py ' . ' 2>&1')
, но ничего не возвращает правильный вывод.
Что я делаю не так и как я могу это исправить?
Мне известны подобные сообщения о StackOverflow ( Запуск скрипта Python из PHP , Невозможно выполнить скрипт Python из документа PHP , Не удается выполнить скрипт Python из PHP exec () , Как правильно вызвать скрипт Python 3 из PHP? ), но для меня все это не работает как таковое.
Мне интересно, связана ли моя проблема с тем, что я не выполнил какую-либо настройку для запуска скрипта Python на XAMPP
, как описано в некоторых постах здесь ( Запуск скриптов Python с Xampp ).