我有一个版本的A *算法可以构建一个图表 Python列表中的英国道路和自行车网络。大约需要30秒 初始化,但一旦完成可以很快找到最短的路线 在任意两个顶点之间。提供了开始和结束顶点id 通过PHP。
我正在努力找出最佳的沟通方式 PHP和Python程序。我只想做初始化阶段 当Apache服务器启动时,我的问题是:我如何保持 python程序活着并通过PHP请求它的路由?我有一个 GLAMP设置。
答案 0 :(得分: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调用。
答案 1 :(得分:0)
请检查此问题:Calling Python in PHP
另请查看此扩展程序:http://www.csh.rit.edu/~jon/projects/pip/
我不知道你是否托管环境允许你添加新的php扩展,但你明白了。
答案 2 :(得分:0)
我会从你的Python应用程序中创建一个“后端”服务器。有很多方法可以调用Python应用程序:
这可以避免Python应用程序的任何启动损失。
答案 3 :(得分:0)
使用web.py可以做一些像Python中的REST Web服务器这样简单的事情:
然后通过PHP调用它,应该使整个任务变得非常简单。
有关详细信息,请参阅此处:
http://johnpaulett.com/2008/09/20/getting-restful-with-webpy/