中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂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 中。同樣值得注意的是若需要處理用戶輸入的資料,而又要防止用戶;ㄕ衅平庀到y,則可以使用 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

      主站蜘蛛池模板: 日本一区二区三区四区看片| 色偷偷女人的天堂亚洲网| 中国女人a毛片免费全部播放| 精品国产自拍在线视频| 国产高潮流白浆免费观看不卡| 国产经典免费视频在线观看| 铜川市| 国产三级三级三级看三级日本| 久久黄色激情精品网站| 熟女少妇高潮免费视频| 韩国日本国产亚洲自拍| 人妻少妇被猛烈的进入| 久久久久无码中文字幕| 亚洲免费视频一区二区三区 | 欧美熟妇与小伙性欧美交| 青青草视频在线网站观看| 三级全黄的视频在线观看| 亚洲无码视频一区:| 亚洲一区二区在线观看网站 | 亚洲免费一区二区三区视频| 午夜一区二区三区av| 久久精品国产视频在热| 亚洲色婷婷综合开心网| 伊人狠狠色j香婷婷综合| 久久人妻av中文字幕| 国产精品无码mv在线观看| 久久精品国产亚洲精品色婷婷| 国产成人精品亚洲日本在| 国产亚洲人成在线影院| 亚洲av日韩av一卡二卡| 欧美zozo另类人禽交| 亚洲欧美在线视频| 亚洲五月七月丁香缴情| 成年毛片18成年毛片| 一区二区三区日本在线观看 | 亚洲国产精品日韩专区av| 国产亚洲视频在线观看播放| 国产av乳头久久一区| 久久国产精品超级碰碰热| 人妻无码一区二区19P| 99久久精品一区二区毛片吞精|