взаимодействие php и python

654
01 ноября 2017, 04:24

Необходимо в скрипте python обрабатывать данные, которые пользователь вводит в php форму. То есть, по сути в скрипте python нужно чем-то заменить input, чтобы в обрботку шли введенные в php форму данные,а потом результат обратботки передавался обратно в php либо в БД... Может быть кто-то сталкивался с подобным? Подскажите , как быть

Answer 1

Форма по определению HTML. То что она сгенерированна php скриптом значения не имеет.

Есть несколько способов решить данную проблему.

  1. Если python доступен через web сервер отправить post/get/put/delete ... запрос напрямую данному скрипту.
  2. Как посоветовал @Александр Чи. PHP может вызывать команды на прямую через shell_exec/exec/system/passthru... Читайте документацию выбирайте подходящую.
  3. Сделайте очередь обработки. PHP будет складывать задания а Python их будет выполнять. Можно сделать pull систему через DB/файловую систему(e.g: Zend Queue). Или push систему через брокера (ZeroMQ, RabitMQ, Gearman ...)
Answer 2

Если у вас есть доступ к командной строке, то можно вызвать shell_exec('python script.py -arg1=foo -arg2=bar');

READ ALSO
Как вывести стихотворение из бд в первоначальном формате?

Как вывести стихотворение из бд в первоначальном формате?

Есть цель добавлять стихотворения в БД посредством PHPВопрос заключается в том, как сохранить исходное форматирование текста в БД или как...

303
Посоветуйте плагин как на скриншоте (wordpress) [требует правки]

Посоветуйте плагин как на скриншоте (wordpress) [требует правки]

Пожалуйста, посоветуйте плагин, с помощью которого можно реализовать нечто подобное: Что бы с админки можно было выбирать где и какой пост...

339
php Пример с датами

php Пример с датами

Никак не могу выполнить вот этот примерНикак не могу разобраться как отнимать от одной даты другую, все время выдает дату 1970 01 01

302
куда вставить якорь в пагинацию

куда вставить якорь в пагинацию

Пагинатор воспринимает из базы записиКак сделать, чтобы после занесения в базу последней записи можно было посмотреть сразу результат, а не клацать...

280