У меня есть код, написанный на PHP, но я также разработал скрипт, написанный на Python. Можно ли вызвать этот скрипт Python из кода PHP?
Если да, то как я могу передать параметры скрипту Python из PHP?
Я попытался найти ответ без всякого успеха.
Может ли кто-нибудь дать мне ключ?
Вы используете системную функцию: http://php.net/manual/en/function.system.php
Что-то вроде этого:
$mystring = system('python myscript.py myargs', $retval);
Мне удалось создать простую функцию 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"; ?>
Вы можете попробовать следующее:
скрипты python:
test.py: напечатать "привет"
затем скрипты php
index.php: $ i = `python test.py`; echo $ i;
Да, вы можете просто использовать 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.