【整理】PHP中执行调用Python代码

【背景】

别人的问题:

请问一下你熟悉php对python的调用吗? 需要从Php向python传递参数

但是之前没折腾过,现在去看看。

【折腾过程】

1.google搜:

php call python

找到一堆帖子。

2.参考:

executing Python script in PHP and exchanging data between the two

说是可以通过:

公共语言格式(common language formats),去实现,然后利用标准输入stdin和标准输出stdout去通信。

具体代码就不贴了。

有空去试试示例代码,看起来应该是可以的。

3.另外,别人也提到了,可以用那个RPC的东西。

其中Python中对应的rpc的库有:

phpxmlrpc

4.这里:

Calling Python in PHP

提到了用:

system()popen()

  • 如果Python脚本没有输出,或者你想要Python脚本的输出是直接输出到浏览器的:用system()
  • 如果你想要通过标准输入stdin去输入数据到Python中,或者是从Python的标准输出stdout中读取数据:用popen()
    • popen只能读或写,不能同时实现两种效果(既读也写)
      • 如果既要读也要实现写,则用:proc_open()
        • 自己使用时,注意不要出现死锁了。
    • 很明显,此处的你,就是这种情况,所以推荐用这个popen()

 

【总结】

根据你的情况,去用popen应该就够了。

关于具体如何使用,去看官网api说明:

http://php.net/manual/en/function.popen.php

然后把popen的参数,改为对应的python文件的路径,应该就可以了。

自己多试试吧。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量