2016-06-19 1 views
1

J'ai un script python qui a une fonction python à l'intérieur et la fonction prend un paramètre. Maintenant, je veux exécuter la fonction python. et le paramètre est donné à partir de php. Mais le fichier python se trouve dans un autre répertoire.Comment puis-je exécuter une fonction python (qui prend un paramètre) à partir de php?

Ex: php est dans le répertoire site/ph et python est dans site/pyt répertoire

gars Merci de me aider à exécuter le python de php je vous remercie de votre aide

+0

Vous pouvez utiliser la communication socket entre eux. Lisez ceci http://stackoverflow.com/questions/5965655/communication-between-php-and-python –

Répondre

0

Tenir compte passer le paramètre PHP comme argument de ligne de commande en Python en utilisant PHP exec(). Ensuite Python est le recevoir avec sa sys.argv liste:

PHP Script (note: sortie $ est un tableau et return_var $ est un scalaire, 0 ou autre):

$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 (note: sys.argv est une liste avec le nom de fichier script comme premier argument)

import sys 

# RECEIVING COMMAND LINE ARG 
php_param = sys.argv[1] 

def somefunction(p): 
    print("PHP Paramter: {}".format(p)) 

somefunction(php_param) 

sortie(quand le script PHP est exécuté)

# return value is: 0 
# PHP Paramter: argument 1