从PHP调用Python程序
我有一个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 网络服务器:
然后可以通过 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调用。