#php #python
Всем привет. Интересует такой вопрос. Каким образом можно из php скрипта запустить python скрипт, обработать в нем некоторые данные, и получить результат работы скрипта и данные обратно в php ?
Ответы
Ответ 1
В зависимости от того, что вы делаете, system () или popen (). Используйте system (), если код Python не имеет выхода, или если вы хотите, чтобы выход скрипта Python переходил непосредственно в браузер. Используйте popen (), если вы хотите записать данные на стандартный ввод скрипта Python или прочитать данные из стандартного вывода сценария Python в php. Popen () позволит вам читать или писать, но не то, и другое. Если вы хотите оба, проверьте proc_open (), но с двухсторонней связью между программами вы должны быть осторожны, чтобы избежать взаимоблокировок, где каждая программа ждет другого, чтобы что-то сделать. Если вы хотите передать данные, предоставленные пользователем, в сценарий Python, то самое важное, о чем нужно заботиться, - это командная инъекция. Если вы не будете осторожны, ваш пользователь может отправить вам такие данные, как «; evilcommand»; И заставить вашу программу выполнять произвольный код. Escapeshellarg () и escapeshellcmd () могут помочь с этим, но лично мне нравится удалять все, что не является известными хорошими данными, используя что-то вроде Preg_replace ('/ [^ a-zA-Z0-9] /', '', $ str) Источник:Ответ 2
$result = system('python myscript.py myargs', $retval); function.system.php $python = shell_exec('C:\Python27\python.exe e:\xampp\htdocs\scripts\test.py'); function.shell-exec.php (функция недоступна в безопасном режиме)
Комментариев нет:
Отправить комментарий