两个脚本之间的通讯

时间:2018-10-22 08:16:06

标签: php python communication

我正在使用无限的Python脚本(启动时启动)和PHP网页创建嵌入式系统。 PHP网页必须与该脚本进行通信。

当前解决方案是基于文件的通信。 PHP将一些命令写入文件,而Python将对其他(或相同)文件的响应写入文件。

另一种可能的解决方案是仅在需要使用PHP $response = shell_exec('./script.py');

时调用某些NOT Infinite Python脚本

两种解决方案都是可行的,但是它们很复杂,我需要Python脚本是无限的。

有什么方法可以在同一Linux设备上的两个独立scipt之间打开一些通信隧道吗?

两个设备之间的UART,telnet等。

现在我正在寻找PHP-PYTHON和PYTHON-PYTHON通信的解决方案,但有时我需要使用Bash,TCL等实现此目的。

谢谢(抱歉英语不好)

辐射

1 个答案:

答案 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);

当然,这是一个简单的存根,应该对其进行一些调整,但它应该为您提供一个起点。