美文网首页
Php和python混编实现介绍

Php和python混编实现介绍

作者: LiChangBao | 来源:发表于2017-06-22 13:38 被阅读0次

    需求产生原因:某些使用PHP作为后台语言的网站可能会有调用Python等脚本语言的需求.例如我最近在做的数据处理工作中,由于所需处理的新闻文本数目过大,难以人工分类,所以需要一个文本分类函数,接受传入的文章输出文章应有的分类.然而php却没有可靠的实现方法.这时,就需要php调用python等脚本辅助处理.

    解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passthru等,每种方法都有适用的情景.对于我的需求,exec/system/passthru是较好的选择

    1. exec

    原型:string exec ( string command [, array &output [, int &return_var]] )

    描述:返回值保存最后的输出结果,而所有输出结果将会保存到$output数组,$return_var用来保存命令执行的状态码(用来检测成功或失败)。

    例子:$ret = exec("ls -al", $output, $var);

    注意:输出结果会逐行追加到$output中,因此在调用exec之前需要unset($output),特别是循环调用的时候。

    //第一个参数表示要执行的python脚本,第二参数用于存储脚本的返回值,第三个参数存储的是状态码(0表示成功调用外部脚本,1 表示调用失败)

    exec("python similarity_caculation.py",$array,$ret2);

    原型:string system ( string command [, int &return_var] )2. system

    描述:执行给定的命令,返回最后的输出结果;第二个参数是可选的,用来得到命令执行后的状态码。

    system("python Most_powerful.py",$ret1);

    3. passthru

    原型:void passthru (string command [, int return_var])

    描述:执行给定的命令,但不返回任何输出结果,而是直接输出到显示设备上;第二个参数可选,用来得到命令执行后的状态码。

    例子:passthru("ls -al", $var);

    相关文章

      网友评论

          本文标题:Php和python混编实现介绍

          本文链接:https://www.haomeiwen.com/subject/ckhfcxtx.html