中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      PHP執行Linux系統命令函數的方法

      時間:2024-07-12 03:59:05 PHP 我要投稿
      • 相關推薦

      PHP執行Linux系統命令函數的方法

        PHP執行Linux系統命令的函數怎么使用?下面就讓應屆畢業生小編告訴大家PHP執行Linux系統命令函數的方法吧,希望對大家有所幫助。

        system函數

        說明:執行外部程序并顯示輸出資料。

        語法:string system(string command, int [return_var]);

        返回值: 字符串

        詳細介紹:

        本函數就像是 C 語中的函數 system(),用來執行指令,并輸出結果。若是 return_var 參數存在,則執行 command 之后的狀態會填入 return_var 中。同樣值得注意的是若需要處理用戶輸入的資料,而又要防止用戶耍花招破解系統,則可以使用 EscapeShellCmd()。若PHP 以模塊式的執行,本函數會在每一行輸出后自動更新 Web 服務器的輸出緩沖暫存區。若需要完整的返回字符串,且不想經過不必要的其它中間的輸出界面,可以使用 PassThru()。

        實例代碼:

        代碼如下:

        < ?php

        $last_line = system('ls', $retval);

        echo 'Last line of the output: ' . $last_line;

        echo '

        Return value: ' . $retval;

        ?>

        exec函數

        說明:執行外部程序。

        語法:string exec(string command, string [array], int [return_var]);

        返回值: 字符串

        詳細介紹:

        本函數執行輸入 command 的外部程序或外部指令。它的返回字符串只是外部程序執行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 這個函數。

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

        值得注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統,則可以使用 EscapeShellCmd()。

        實例代碼:

        代碼如下:

        < ?php

        echo exec('whoami');

        ?>

        popen函數

        說明:打開文件。

        語法:int popen(string command, string mode);

        返回值: 整數

        詳細介紹:

        本函數執行指令開檔,而該文件是用管道方式處理的文件。用本函數打開的文件只能是單向的 (只能讀或只能寫),而且一定要用 pclose() 關閉。在文件操作上可使用 fgets()、fgetss() 與 fputs()。若是開檔發生錯誤,返回 false 值。

        實例代碼:

        代碼如下:

        < ?

        $fp = popen("/bin/ls","r" );

        ?>

        PHP監控linux服務器負載

        在實際項目的應用中,我們由于各種條件的現實,利用PHP來實現服務器負載監控將是一種更為靈活的方式。

        由于Web Server以及PHP的實現方式所限,我們在現實環境中很難利用PHP去調用一些Linux中需要root權限才能執行的程序,對此,我從網上找到另外一種方式來繞開這個限制。首先先寫個c程序中轉調用系統命令,然后用PHP去執行此c程序。

        c程序

        首先寫個c文件,比如/usr/local/ismole/w.c

        代碼如下:

        #include

        #include

        #include

        #include

        int main()

        {

        uid_t uid ,euid;

        //note 獲得當前的uid

        uid = getuid();

        //note 獲得當前euid

        euid = geteuid();

        //note 交換這兩個id

        if(setreuid(euid, uid))

        perror("setreuid");

        //note 執行將要執行linux系統命令

        system("/usr/bin/w");

        return0;

        }

        編譯該文件gcc -o w -Wall w.c,這時會在當前目錄下生成程序w。改變此程序的屬主chmod u+s ./w。

        PHP執行

        文件內容如下,放在web目錄下,訪問就會輸出當前的服務器負載情況。

        代碼如下:

        /*

        More & Original PHP Framwork

        Copyright (c) 2007 - 2008 IsMole Inc.

        $Id: serverMonitor.php 408 2008-12-02 08:07:40Z kimi $

        */

        //note key的驗證過程

        if($key != $authkey) {

        // exit('key error);

        }

        $last_line = exec('/usr/local/ismole/w', $retval);

        $returnArray = explode("load average: ", $retval[0]);

        $returnString = $returnArray[1];

        echo $returnString;


      【PHP執行Linux系統命令函數的方法】相關文章:

      php外部執行命令函數10-27

      Linux文件系統操作命令大全07-03

      Linux系統專家必學的20個命令01-23

      Linux系統守護進程的啟動方法12-15

      Linux系統死機解決方法01-22

      關于dd命令備份Linux系統的6個例子01-06

      linux常用基本命令(文件處理命令)11-29

      PHP的壓縮函數06-21

      Linux硬件信息命令大全10-10

      Linux中常用操作命令10-17

      主站蜘蛛池模板: 精品免费久久久久国产一区| 少妇一级aa一区二区三区片| 国内精品人人妻少妇视频| 亚洲国产AⅤ精品一区二区久| 国产精品白浆免费观看 | 久久久久一| 亚洲视频在线播放免费视频 | 激情人妻网址| 动漫av纯肉无码av在线播放| 巴中市| 在线观看精品视频一区二区三区| 国产伦理自拍视频在线观看| 国产成人AV乱码免费观看| 手机AV片在线| 国产呦系列呦交| 久久精品国产亚洲av高清四虎| 波多野无码AV中文专区| 一本大道久久精品一本大道久久| 男人午夜a天堂一区二区三区 | 日本一区二区视频免费观看| 亚洲乱熟女一区二区三区不卡 | 日韩av一区二区三区精品| 亚洲一区二区三区四区三级视频| 衡山县| 呼伦贝尔市| 人人妻人人澡av| 精品国产69亚洲一区二区三区| 亚洲一区二区三区免费av在线| 国产品精品久久久久中文| 亚洲精品中文有码字幕| 亚洲伊人不卡av在线| 国产亚洲AV片a区二区| 富源县| 男女好痛好深好爽视频一区| 男人午夜a天堂一区二区三区| 国产精品无码mv在线观看| 亚洲精品国产老熟女久久| 粉嫩av一区二区在线观看| 91久久精品国产性色tv| 中日韩字幕中文字幕一区| 日本在线中文字幕一区|