Связь между двумя скриптами

Я создаю встроенную систему с бесконечным скриптом Python (запускается при запуске) и веб-страницей PHP. Веб-страница PHP должна общаться с этим скриптом.

Текущее решение это файловая связь. PHP записывает в файл некоторую команду, а Python записывает ответ в какой-то другой (или тот же) файл.

Другое возможное решение это вызвать некоторые НЕ бесконечные Python-скрипт только при необходимости с PHP $response = shell_exec('./script.py');

Оба решения возможны, но они сложны, и мне нужно, чтобы скрипт Python был бесконечным.

Есть ли способ, как открыть некоторый коммуникационный туннель между двумя независимыми скриптами на одном устройстве Linux?

Как UART, Telnet и т. Д. Между двумя устройствами.

Сейчас я ищу решение с помощью связи PHP-PYTHON и PYTHON-PYTHON, но иногда мне это нужно, например, с помощью Bash, TCL и т. Д.

Спасибо (и извините за не очень хороший английский)

Радим

1

Решение

Не зная о том, чего вы пытаетесь достичь, я бы выбрал базовое решение http, запустив простой http-сервер с python

import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

.... do something with the http request and send the response

Затем скрипт php может просто сделать несколько запросов GET / POST / etc .. напрямую на python и получить ответы http, например, через cURL:

// create curl resource
$ch = curl_init();

// set url
curl_setopt($ch, CURLOPT_URL, "localhost");

// set port
curl_setopt($ch, CURLOPT_PORT, 8000);

//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// $output contains the output string
$output = curl_exec($ch);

// close curl resource to free up system resources
curl_close($ch);

Конечно, это простая заглушка, и ее нужно немного подправить, но она должна дать вам отправную точку.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]