从PHP调用Python程序

时间:2010-06-24 23:03:11

标签: php python ipc

我有一个版本的A *算法可以构建一个图表 Python列表中的英国道路和自行车网络。大约需要30秒 初始化,但一旦完成可以很快找到最短的路线 在任意两个顶点之间。提供了开始和结束顶点id 通过PHP。

我正在努力找出最佳的沟通方式 PHP和Python程序。我只想做初始化阶段 当Apache服务器启动时,我的问题是:我如何保持 python程序活着并通过PHP请求它的路由?我有一个 GLAMP设置。

4 个答案:

答案 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服务器这样简单的事情:

http://webpy.org/

然后通过PHP调用它,应该使整个任务变得非常简单。

有关详细信息,请参阅此处:

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