从PHP调用Python程序

2 投票
4 回答
824 浏览
提问于 2025-04-16 00:24

我有一个A*算法的版本,它用Python列表构建了英国的道路和自行车网络图。初始化大约需要30秒,但一旦完成,就能非常快速地找到任何两个点之间的最短路线。起点和终点的ID是由PHP提供的。

我正在想如何在PHP和Python程序之间进行最好的沟通。我只想在Apache服务器启动时进行初始化,所以我的问题是:我该如何让Python程序保持运行,并通过PHP向它请求路线?我有一个GLAMP的环境。

4 个回答

0

看看这个问题:在PHP中调用Python

还有这个扩展可以看看:http://www.csh.rit.edu/~jon/projects/pip/

我不确定你的托管环境是否允许你添加新的PHP扩展,但你可以了解一下这个思路。

0

你可以用 Python 和 web.py 做一个简单的 REST 网络服务器:

http://webpy.org/

然后可以通过 PHP 来调用这个服务器,这样整个任务就会变得非常简单。

想了解更多信息,可以查看这里:

http://johnpaulett.com/2008/09/20/getting-restful-with-webpy/

2

我想到的最简单的方法就是使用XMLRPC。用Python搭建一个XMLRPC服务器非常简单,而在PHP这边有个叫php_xmlrpc的工具可以用来连接...

def calculate_path(v1, v2):
  return [v1, ..., v2]

from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(('localhost', 9393))
server.register_function(calculate_path)
server.serve_forever()

这样你就可以运行,并且应该能够从你的PHP应用程序对位于http://localhost:9393/calculate_path进行XMLRPC调用。

撰写回答