我正在 php 编写一个程序,它几乎完成了它需要做的所有事情,但有一次我需要使用 python 编写的函数< strong> mechanize 库,这两个脚本都将托管在同一台服务器上。
我最初的想法是进行一个CURL
调用,包含从php脚本到python脚本的任何参数,然后使用CURL
将函数的结果再次返回给php脚本。< / p>
我对编程很新,并且在做这样的事情时不确定最好的约定,是我使用CURL
的setout工作流程,通常的方法是这样做还是有另一种方式?
答案 0 :(得分:2)
如果您需要能够独立分发PHP代码和Python代码,将它们部署在不同的服务器上,那么这是合理的 - 您将Python代码作为Web服务,使PHP代码调用Web服务,你已经完成了。
但是如果Python脚本总是在本地运行,那么通常更容易将其作为程序运行 - 传递命令行参数和/或标准输入,并检索其标准输出。 PHP有几种不同的方法 - system
,popen
,exec
,passthru
- 它们都有不同的优势和缺点。
例如,对于exec
,您只需在每个参数上调用escapeshellarg
,将它们放在一个以空格分隔的字符串中,并带有脚本路径,调用exec
,然后您得到结果。
答案 1 :(得分:1)
如果脚本位于同一台服务器上,您可以随时在php(http://php.net/function.exec)中使用exec
函数。
但请,确定你知道自己在做什么,因为这个功能很强大,如果使用错误的方式可能会非常讨厌。
答案 2 :(得分:0)
我不知道这有多好(我没有亲自尝试过),但你总是可以试试这个: