0

我需要在 PHP 中使用一些用 python 编写的功能。我需要将参数传递给python函数并将结果(至少是简单类型:整数、浮点数、元组等)传回php?。可以做到吗?

4

2 回答 2

3

您可以使用exec从 php 运行任何外部脚本

或者

创建要访问的 Web 服务。这将是最好的方法。

于 2013-01-16T07:09:33.847 回答
1

您应该使用XML-RPC(远程过程调用)。为此设置一个 Python-Server 非常简单,在 PHP 中,使用http://php.net/manual/de/ref.xmlrpc.php

例如,作为示例(取自文档

from SimpleXMLRPCServer import SimpleXMLRPCServer
from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler

# Restrict to a particular path.
class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/RPC2',)

# Create server
server = SimpleXMLRPCServer(("localhost", 8000),
                            requestHandler=RequestHandler)
server.register_introspection_functions()

# Register pow() function; this will use the value of
# pow.__name__ as the name, which is just 'pow'.
server.register_function(pow)

# Register a function under a different name
def adder_function(x,y):
    return x + y
server.register_function(adder_function, 'add')

# Register an instance; all the methods of the instance are
# published as XML-RPC methods (in this case, just 'div').
class MyFuncs:
    def div(self, x, y):
        return x // y

server.register_instance(MyFuncs())

# Run the server's main loop
server.serve_forever()

设置一个完全工作的 XML-RPC-server。

然后,每种方法MyFuncs都可用于任何支持 XML-RPC 的编程语言,包括 PHP。

于 2013-01-16T08:04:41.197 回答