Python — php passthru не возвращает ничего

Я пытаюсь вызвать скрипт 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]

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 для вас. Он может только запустить скрипт и что-то сделать с выводом скрипта.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]