Как вызвать Python Script из PHP?

У меня есть код, написанный на PHP, но я также разработал script, написанный на Python. Можно ли вызвать этот Python script из кода PHP?

Если да, как передать параметры Python script из PHP?

Я попытался найти ответ без каких-либо успехов.

Может кто-нибудь дать мне подсказку?

Ответ 2

Мне удалось создать простую функцию PY ([parametress], code) для PHP. Вы можете включить код Python в свой PHP. Вы можете передать также некоторые простые входные переменные для процесса python. Вы не можете получить данные обратно, но я считаю, что это может быть легко исправлено:) Не подходит для использования в веб-хостинге (потенциально опасно, системный вызов), я создал его для PHP-CLI..

<?php

function PY()
{
 $p=func_get_args();
 $code=array_pop($p);
 if (count($p) % 2==1) return false;
 $precode='';
 for ($i=0;$i<count($p);$i+=2) $precode.=$p[$i]." = json.loads('".json_encode($p[$i+1])."')\n";
 $pyt=tempnam('/tmp','pyt');
 file_put_contents($pyt,"import json\n".$precode.$code);
 system("python {$pyt}");
 unlink($pyt);
}

//begin
echo "This is PHP code\n";
$r=array('hovinko','ruka',6);
$s=6;

PY('r',$r,'s',$s,<<<ENDPYTHON
print('This is python 3.4 code. Looks like included in PHP :)');
s=s+42
print(r,' : ',s)
ENDPYTHON
); 
echo "This is PHP code again\n";
?> 

Ответ 3

Вы можете попробовать следующее:

скрипты python:

 test.py:
        print "hello"

, а затем скрипты php

index.php:
   $i =`python test.py`;
   echo $i;

Ответ 4

Да, вы можете просто использовать exec() для вызова программы python в php. простая программа для примера, которую я включил здесь.

$pyscript = 'G:\wamp\www\ll\test.py';
$python = 'C:\\Python27\\python.exe';

$cmd='$pyscript $python';

exec("$cmd", $output);

Вы должны указать свой путь python.exe и ваш путь к файлу python. Он должен понадобиться в среде Windows.