需求產生原因:某些使用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),特別是迴圈呼叫的時候。
2. system
原型:string system ( string command [, int &return_var] )
描述:執行給定的命令,返回最後的輸出結果;第二個引數是可選的,用來得到命令執行後的狀態碼。
例子:$ret = system("ls -al", $var);
3. passthru
原型:void passthru (string command [, int return_var])
描述:執行給定的命令,但不返回任何輸出結果,而是直接輸出到顯示裝置上;第二個引數可選,用來得到命令執行後的狀態碼。
例子:passthru("ls -al", $var);
參考文件:
php傳參呼叫python指令碼
由於我的 專案的後端採用的是php 但是在爬蟲方面的時候 python是最簡單的選擇 因此需要php與python進行互動 需求是要帶引數的 例如自動登入某個 而使用者密碼是不同的 查閱資料得知 php有這個函式exec 這個函式的作用可以執行第三方程式 約等於在shell命令列中輸入指令 約等於c...
win 10 php呼叫python指令碼
使用php作為後台語言的 可能會有呼叫python等指令碼語言的需求,比如在做資料處理。現在假設你已經有了乙個可以執行php指令碼和解釋python指令碼的伺服器環境 下面是乙個簡單的示例 首先,執行php指令碼,利用shell exec 方法,它可以在php中執行python指令碼 shell e...
php指令碼呼叫python類方法示例
php指令碼 呼叫debug.py檔案中的test1方法 cmd python d python debug.py test1 p1 p2 2 1 data exec cmd,array,return var dump data,return debug.py檔案 usr bin env pytho...