我正在使用无限的Python脚本(启动时启动)和PHP网页创建嵌入式系统。 PHP网页必须与该脚本进行通信。
当前解决方案是基于文件的通信。 PHP将一些命令写入文件,而Python将对其他(或相同)文件的响应写入文件。
另一种可能的解决方案是仅在需要使用PHP $response = shell_exec('./script.py');
两种解决方案都是可行的,但是它们很复杂,我需要Python脚本是无限的。
有什么方法可以在同一Linux设备上的两个独立scipt之间打开一些通信隧道吗?
两个设备之间的UART,telnet等。
现在我正在寻找PHP-PYTHON和PYTHON-PYTHON通信的解决方案,但有时我需要使用Bash,TCL等实现此目的。
谢谢(抱歉英语不好)
辐射
答案 0 :(得分:0)
在不了解您要实现的目标的情况下,我会寻求基本的http解决方案,使用python启动一个简单的http服务器
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脚本可以直接向python发出一些GET / POST / etc ..请求,并获取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);
当然,这是一个简单的存根,应该对其进行一些调整,但它应该为您提供一个起点。