Я создаю встроенную систему с бесконечным скриптом Python (запускается при запуске) и веб-страницей PHP. Веб-страница PHP должна общаться с этим скриптом.
Текущее решение это файловая связь. PHP записывает в файл некоторую команду, а Python записывает ответ в какой-то другой (или тот же) файл.
Другое возможное решение это вызвать некоторые НЕ бесконечные Python-скрипт только при необходимости с PHP $response = shell_exec('./script.py');
Оба решения возможны, но они сложны, и мне нужно, чтобы скрипт Python был бесконечным.
Есть ли способ, как открыть некоторый коммуникационный туннель между двумя независимыми скриптами на одном устройстве Linux?
Как UART, Telnet и т. Д. Между двумя устройствами.
Сейчас я ищу решение с помощью связи PHP-PYTHON и PYTHON-PYTHON, но иногда мне это нужно, например, с помощью Bash, TCL и т. Д.
Спасибо (и извините за не очень хороший английский)
Радим
Не зная о том, чего вы пытаетесь достичь, я бы выбрал базовое решение 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);
Конечно, это простая заглушка, и ее нужно немного подправить, но она должна дать вам отправную точку.
Других решений пока нет …