Я пытаюсь вызвать скрипт Python из PHP. Однако я не могу понять, как вернуть результат в мой php-скрипт, чтобы использовать его там. Мой PHP-скрипт выглядит следующим образом:
<?php
$input = 'help';
$output = passthru("/usr/bin/python3.5 /path/test.py '$input'");
echo $output;
?>
пока мой скрипт на python ‘test.py’ это:
import sys
json2 = sys.argv[1]
Это потому, что ваш скрипт на python ничего не возвращает. Просто делаю:
json2 = sys.argv[1]
Назначает только значение json2
, Я подозреваю, что вы пытаетесь сделать что-то вроде:
import sys
json2 = sys.argv[1]
print json2
Это, кажется, работает просто отлично:
~ # php -a
Interactive shell
php > $input = 'help';
php > $output = passthru("/usr/bin/python test.py '$input'");
help
Обновить:
На основании вашего комментария. Ты ищешь exec()
вместо:
~ # php -a
Interactive shell
php > $input = 'help';
php > $output = exec("/usr/bin/python test.py '$input'");
php > echo $output;
help
Обратите внимание, что ваш скрипт на Python имеет выводить что-то. Простое присвоение переменной не сработает, так как PHP не может интерпретировать ваш код Python для вас. Он может только запустить скрипт и что-то сделать с выводом скрипта.
Других решений пока нет …