php 運行linux命令 與 linux下命令行執行php


1.php運行linux命令

 exec函數:string exec(string command, string [array], int [return_var]); 

               執行函數后不輸出結果,返回最后一行shell結果

       要是參數 array 存在,command 會將 array 加到參數中執行,若不欲 array 被處理,可以在執行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二個參數都存在,則執行 command 之后的狀態會填入 return_var 中

system函數: string system(string command, int [return_var]);

      本函數就像是 C 語中的函數 system(),用來執行指令,並輸出結果。若是 return_var 參數存在,則執行 command 之后的狀態會填入 return_var 中

passthru函數:本函數類似 Exec() 用來執行 command 指令,並輸出結果。若是 return_var 參數存在,則執行 command 之后的狀態會填入 return_var 中。若輸出的資料是二進位的資料,並且需要輸出到瀏覽器中的話,使用本函數就相當合適了。例如使用 pbmplus 工具來執行指令,並返回二進位的圖形資料。可以先配置返回資料的標頭 (header) 為 Content-type: image/gif,然后呼叫 pbmplus 程序處理圖形資料,並將二進位的圖形資料直接返回瀏覽器。

相同點:都可以獲得命令執行的狀態碼

例子:exec('cd /etc');

注意:用這三個函數執行linux命令時最好用escapeshellcmd這個函數先過濾一下命令字符,防破解攻擊。

 

 

 

2.linux下命令行執行php

/usr/local/php/bin/php /var/www/phpinfo.php 參數php的安裝路徑下的bin目錄下面的php命令 然后后面跟php文件 再接着就是跟參數

然后在php代碼中可以通過$_SERVER['argv'][1]來獲取第一個參數,以此類推。。。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM