Php和python混編實(shí)現(xiàn)介紹

需求產(chǎn)生原因:某些使用PHP作為后臺(tái)語(yǔ)言的網(wǎng)站可能會(huì)有調(diào)用Python等腳本語(yǔ)言的需求.例如我最近在做的數(shù)據(jù)處理工作中,由于所需處理的新聞文本數(shù)目過大,難以人工分類,所以需要一個(gè)文本分類函數(shù),接受傳入的文章輸出文章應(yīng)有的分類.然而php卻沒有可靠的實(shí)現(xiàn)方法.這時(shí),就需要php調(diào)用python等腳本輔助處理.

解決辦法:php提供了許多調(diào)用其他腳本或程序的方法,比如exec/system/popen/proc_open/passthru等,每種方法都有適用的情景.對(duì)于我的需求,exec/system/passthru是較好的選擇

1. exec

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

描述:返回值保存最后的輸出結(jié)果,而所有輸出結(jié)果將會(huì)保存到$output數(shù)組,$return_var用來(lái)保存命令執(zhí)行的狀態(tài)碼(用來(lái)檢測(cè)成功或失敗)。

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

注意:輸出結(jié)果會(huì)逐行追加到$output中,因此在調(diào)用exec之前需要unset($output),特別是循環(huán)調(diào)用的時(shí)候。

//第一個(gè)參數(shù)表示要執(zhí)行的python腳本,第二參數(shù)用于存儲(chǔ)腳本的返回值,第三個(gè)參數(shù)存儲(chǔ)的是狀態(tài)碼(0表示成功調(diào)用外部腳本,1 表示調(diào)用失?。?/p>

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

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

描述:執(zhí)行給定的命令,返回最后的輸出結(jié)果;第二個(gè)參數(shù)是可選的,用來(lái)得到命令執(zhí)行后的狀態(tài)碼。

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

3. passthru

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

描述:執(zhí)行給定的命令,但不返回任何輸出結(jié)果,而是直接輸出到顯示設(shè)備上;第二個(gè)參數(shù)可選,用來(lái)得到命令執(zhí)行后的狀態(tài)碼。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • php.ini設(shè)置,上傳大文件: post_max_size = 128Mupload_max_filesize ...
    bycall閱讀 7,007評(píng)論 3 64
  • 架構(gòu)師必須知道的26項(xiàng)PHP安全實(shí)踐 PHP是一種開源服務(wù)器端腳本語(yǔ)言,應(yīng)用很廣泛。Apache web服務(wù)器提供...
    meng_philip123閱讀 6,218評(píng)論 1 161
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當(dāng)給sq...
    xuningbo閱讀 10,562評(píng)論 2 22
  • sqlmap用戶手冊(cè) 說明:本文為轉(zhuǎn)載,對(duì)原文中一些明顯的拼寫錯(cuò)誤進(jìn)行修正,并標(biāo)注對(duì)自己有用的信息。 ======...
    wind_飄閱讀 2,207評(píng)論 0 5

友情鏈接更多精彩內(nèi)容