Как я могу выполнить функцию Python (которая принимает параметр) из PHP?
У меня есть скрипт Python, в котором есть функция Python и функция принимает параметр. Теперь я хочу выполнить функцию Python. и параметр дается из php. Но файл Python находится в другом каталоге.
Пример: php находится в site/ph
каталог и питон находится в site/pyt
каталог
Пожалуйста, ребята, помогите мне выполнить Python из PHP Я ценю вашу помощь
1 ответ
Попробуйте передать параметр PHP в качестве аргумента командной строки в Python, используя PHP exec()
, Затем пусть Python получит его с sys.argv
список:
PHP Script (примечание: $output - это массив, а $return_var - скаляр, 0 или другое):
$arg = "argument 1";
exec('python "/site/pyt/Script.py" "'.$arg.'"', $output, $return_var);
// PYTHON OUTPUT
echo "return value is: $return_var" . "\n";
foreach ($output as $line) {
echo $line."\n";
}
Python Script (примечание: sys.argv - это список с именем файла скрипта в качестве первого аргумента)
import sys
# RECEIVING COMMAND LINE ARG
php_param = sys.argv[1]
def somefunction(p):
print("PHP Paramter: {}".format(p))
somefunction(php_param)
Вывод (при запуске PHP-скрипта)
# return value is: 0
# PHP Paramter: argument 1