2016-06-19 1 views
1

У меня есть скрипт python, внутри которого есть функция python, и функция принимает параметр. Теперь я хочу выполнить функцию python. и параметр указан из php. Но файл python находится в другом каталоге.Как я могу выполнить функцию python (которая принимает параметр) из php?

Ex: PHP в site/ph каталоге и питон в site/pyt каталоге

Пожалуйста, ребята, помочь мне в выполнении питона из PHP я ценю вашу помощь

+0

Вы можете использовать сокеты между ними. Прочтите этот http://stackoverflow.com/questions/5965655/communication-between-php-and-python –

ответ

0

Рассмотрим передать параметр PHP в качестве аргумента командной строки в Python с использованием PHP exec(). Тогда же Python получить его с sys.argv списка:

PHP Script (примечание: $ выходной массив и $ 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 сценарий (примечание: 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 
Смежные вопросы