最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP執(zhí)行l(wèi)inux系統(tǒng)命令的常用函數(shù)使用說明

 更新時間:2010年04月27日 22:58:06   作者:  
php下執(zhí)行l(wèi)inux系統(tǒng)命令的函數(shù),需要的朋友可以參考下。

system函數(shù)
說明:執(zhí)行外部程序并顯示輸出資料。
語法:string system(string command, int [return_var]);
返回值: 字符串

詳細介紹:
本函數(shù)就像是 C 語中的函數(shù) system(),用來執(zhí)行指令,并輸出結(jié)果。若是 return_var 參數(shù)存在,則執(zhí)行 command 之后的狀態(tài)會填入 return_var 中。同樣值得注意的是若需要處理用戶輸入的資料,而又要防止用戶?;ㄕ衅平庀到y(tǒng),則可以使用 EscapeShellCmd()。若 PHP 以模塊式的執(zhí)行,本函數(shù)會在每一行輸出后自動更新 Web 服務(wù)器的輸出緩沖暫存區(qū)。若需要完整的返回字符串,且不想經(jīng)過不必要的其它中間的輸出界面,可以使用 PassThru()。


實例代碼:

復(fù)制代碼 代碼如下:

< ?php
$last_line = system('ls', $retval);
echo 'Last line of the output: ' . $last_line;
echo '<hr />Return value: ' . $retval;
?>

exec函數(shù)
說明:執(zhí)行外部程序。
語法:string exec(string command, string [array], int [return_var]);
返回值: 字符串

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

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

值得注意的是若需要處理使用者輸入的資料,而又要防止使用者?;ㄕ衅平庀到y(tǒng),則可以使用 EscapeShellCmd()。

實例代碼:
復(fù)制代碼 代碼如下:

< ?php
echo exec('whoami');
?>

popen函數(shù)
說明:打開文件。
語法:int popen(string command, string mode);
返回值: 整數(shù)

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

實例代碼:
復(fù)制代碼 代碼如下:

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


PHP監(jiān)控linux服務(wù)器負載

  在實際項目的應(yīng)用中,我們由于各種條件的現(xiàn)實,利用PHP來實現(xiàn)服務(wù)器負載監(jiān)控將是一種更為靈活的方式。

  由于Web Server以及PHP的實現(xiàn)方式所限,我們在現(xiàn)實環(huán)境中很難利用PHP去調(diào)用一些Linux中需要root權(quán)限才能執(zhí)行的程序,對此,我從網(wǎng)上找到另外一種方式來繞開這個限制。首先先寫個c程序中轉(zhuǎn)調(diào)用系統(tǒng)命令,然后用PHP去執(zhí)行此c程序。

c程序

首先寫個c文件,比如/usr/local/ismole/w.c
復(fù)制代碼 代碼如下:

#include<stdio.h>
#include<stdlib.h>
#include<systypes.h>
#include<unistd.h>

int main()
{
uid_t uid ,euid;

//note 獲得當(dāng)前的uid
uid = getuid();
//note 獲得當(dāng)前euid
euid = geteuid();

//note 交換這兩個id
if(setreuid(euid, uid))
perror("setreuid");

//note 執(zhí)行將要執(zhí)行l(wèi)inux系統(tǒng)命令
system("/usr/bin/w");
return0;
}  

編譯該文件gcc -o w -Wall w.c,這時會在當(dāng)前目錄下生成程序w。改變此程序的屬主chmod u+s ./w。
PHP執(zhí)行

文件內(nèi)容如下,放在web目錄下,訪問就會輸出當(dāng)前的服務(wù)器負載情況。
復(fù)制代碼 代碼如下:

<?php
/*
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來做任何我們想執(zhí)行的Linux系統(tǒng)命令,SVN更新,服務(wù)器監(jiān)控,備份,恢復(fù),日常維護等等。

相關(guān)文章

  • 你應(yīng)該知道PHP浮點數(shù)知識

    你應(yīng)該知道PHP浮點數(shù)知識

    這篇文章主要介紹了你應(yīng)該知道PHP浮點數(shù)知識,本文講解了PHP浮點數(shù)、PHP數(shù)字的臨界值,精度損失等問題,需要的朋友可以參考下
    2015-05-05
  • 關(guān)于PHP結(jié)束標簽的使用細節(jié)探討及聯(lián)想

    關(guān)于PHP結(jié)束標簽的使用細節(jié)探討及聯(lián)想

    PHP解析文件時會尋找開始?php和結(jié)束標記?,標記告訴PHP開始和停止解釋其中的代碼,接下來將詳細介紹下PHP結(jié)束標簽的使用細節(jié)感興趣的你可以參考下本文或許可以幫助到你
    2013-03-03
  • PHP實現(xiàn)的隨機紅包算法示例

    PHP實現(xiàn)的隨機紅包算法示例

    這篇文章主要介紹了PHP實現(xiàn)的隨機紅包算法,結(jié)合實例形式分析了php隨機紅包算法的原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-08-08
  • php正則匹配文章中的遠程圖片地址并下載圖片至本地

    php正則匹配文章中的遠程圖片地址并下載圖片至本地

    這篇文章主要介紹了php正則匹配文章中的遠程圖片地址并下載圖片至本地的實現(xiàn)技巧,可實現(xiàn)采集并保存遠程圖片的功能,是非常實用的技巧,感興趣的小伙伴可以參考一下
    2015-09-09
  • PHP單例模式模擬Java Bean實現(xiàn)方法示例

    PHP單例模式模擬Java Bean實現(xiàn)方法示例

    這篇文章主要介紹了PHP單例模式模擬Java Bean實現(xiàn)方法,涉及php面向?qū)ο蟪绦蛟O(shè)計相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • php+MySQL判斷update語句是否執(zhí)行成功的方法

    php+MySQL判斷update語句是否執(zhí)行成功的方法

    這篇文章主要介紹了php+MySQL判斷update語句是否執(zhí)行成功的方法,可以通過mysql_affected_rows方法加以實現(xiàn),需要的朋友可以參考下
    2014-08-08
  • Windows7下的php環(huán)境配置教程

    Windows7下的php環(huán)境配置教程

    這篇文章主要介紹了Windows7下的php環(huán)境配置教程,本文講解了Windows7下的PHP環(huán)境配置步驟,包含下載安裝文件、配置PHP、添加到系統(tǒng)變量和檢測安裝是否成功等步驟,需要的朋友可以參考下
    2015-02-02
  • php和nginx交互實例講解

    php和nginx交互實例講解

    在本篇文章中小編給大家分享的是關(guān)于php和nginx如何交互的實例以及相關(guān)知識點,有需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • PHP 返回13位時間戳的實現(xiàn)代碼

    PHP 返回13位時間戳的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狿HP 返回13位時間戳的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • PHP遍歷數(shù)組的方法匯總

    PHP遍歷數(shù)組的方法匯總

    php下最靈活的東西都是數(shù)組,很多數(shù)據(jù)都是通過數(shù)組的方式顯示,這里整理下數(shù)組的遍歷方法,大家可以根據(jù)需要選用。
    2015-04-04

最新評論

遵化市| 长子县| 清远市| 莆田市| 济源市| 汉中市| 滦平县| 嘉义市| 康乐县| 新疆| 黄龙县| 北辰区| 长寿区| 民勤县| 莒南县| 安岳县| 广德县| 汾阳市| 盘锦市| 桐柏县| 金湖县| 塔城市| 沈丘县| 恩平市| 视频| 石台县| 友谊县| 维西| 驻马店市| 胶州市| 兰州市| 二手房| 栖霞市| 韶山市| 施秉县| 余姚市| 瑞丽市| 金昌市| 庆元县| 泰和县| 中方县|