導航:首頁 > 編程語言 > linux系統監控php

linux系統監控php

發布時間:2022-08-10 21:44:25

A. 在linux系統中怎麼搭建php環境

Linux下配置安裝PHP環境
參考別人的做法,遇到問題上網查,下面就是安裝步驟.
一、安裝Apache2.2.22
1、到官網下載 http://httpd.apache.org/download.cgi
2、解壓
tar -zxvf httpd-2.2.22.tar.gz
3、建立目標文件夾(注意以下所有操作都時在root用戶下執行的)
mkdir /usr/local/apache2
也就是說等下安裝的apache2要安裝到這個文件夾裡面
4、配置
回到原來解壓之後產生的文件夾
./configure --prefix=/usr/local/apache2 --enable-mole=shared
要加上後面的參數,否則無法使用php,-enable-mole=shared表示Apache可以動態的載入模塊
這一步,出現了很多問題:
第一個錯誤為:
checking for APR... no
configure: error: APR not found. Please read the documentation.
解決方法:
download the latest versions of both APR and APR-Util from Apache APR, unpack them into ./srclib/apr and ./srclib/apr-util (be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)
then do
./configure --with-included-apr
原文章地址:http://stackoverflow.com/questions/9436860/apache-httpd-setup-and-installatio
另外一種解決方法為:
分別安裝APR和APR-util,安裝方法為:首先下載這兩個文件,然後解壓,進入解壓後目錄,然後把APR和APR-util分別安裝到/usr/local/文件夾的apr和apr-util文件夾下。APR的具體安裝方法為:
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
安裝Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
其他步驟類似。
第二個錯誤為:no acceptable C compiler found in $Path
直接運行 yum install gcc,安裝Gcc即可
第三個問題為:pcre-config for libpcre not found
解決方法就是 下載prce安裝包,和APR類似,安裝到/usr/local/pcre文件夾下面即可。PS:fedora下安裝c++編譯器g++的命令為:yum install gcc-c++ 。
5、編譯
make
6、安裝
make install
7、啟動,重啟和停止 ,先切換到安裝完成後的目錄/usr/local/apache2/bin
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
8、配置文件(滿足最基本的配置)
編輯 /usr/local/apache2/conf/httpd.conf 文件
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在後面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .php5
找到:
<IfMole dir_mole>
DirectoryIndex index.html
</IfMole>
添加:
<IfMole dir_mole>
DirectoryIndex index.html index.php
</IfMole>
找到:
#ServerName www.example.com:80
修改為:
ServerName 127.0.0.1:80或者ServerName localhost:80
記得要去掉前面的「#」
9、測試
在瀏覽器里輸入http://127.0.0.1
如果出現It Works!說明成功。這是我的測試結果:O(∩_∩)O哈哈~
10、修改默認的Web站點目錄
默認的目錄為 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一個 /home/gyw/WebSite的目錄作為apache的站點目錄
找到DocumentRoot這一行修改為:DocumentRoot "/home/gyw/WebSite"
找到 <Directory> 這一行修改為:<Directory "/home/gyw/WebSite">
測試:修改到文件夾出現錯誤:
「You don't have permission to access /index.html on this server.」
解決方法:
更改文件許可權;chmod 755 index.html
打開apache配置文件httpd.conf,找到這么一段:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
Satisfy all
</Directory>
測試結果如下:
二、安裝PHP
1、 下載
http://www.php.net/downloads.php
2、解壓
tar -zxvf php-5.3.16.tar.gz
3、建立目標文件夾
mkdir /usr/local/php
也就是說等下安裝的php要安裝到這個文件夾裡面
4、配置
回到原來解壓後的文件夾
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
注意這里有一個-with-apxs2=/usr/local/apache/bin/apxs選項,其中apxs是在安裝Apache時產生的,apxs是一個為Apache HTTP伺服器編譯和安裝擴展模塊的工具,使之可以用由mod_so提供的LoadMole指令在運行時載入到Apache伺服器中。我的理解是通過這個工具把PHP模塊動態載入到Apache中
出現錯誤:configure: error: xml2-config not found. Please check your libxml2 installation.
運行yum install libxml2,然後再運行yum install libxml2-devel安裝完畢後,重新運行上面的./configure命令。
5、編譯
make
6、測試編譯
make test
7、安裝
make install
8、配置文件
cp /usr/local/src/php-5.3.16/php.ini-development /usr/local/php/lib/php.ini
把原來位於源代碼裡面的php.ini-development拷貝到/usr/local/php/lib/php.ini下,並且重命名為php.ini
9.重啟apache
10、測試
在apache的htdocs下建立一個php文件test.php,裡面的內容如下:
<?php
phpinfo();
?>
然後在瀏覽器里輸入http://127.0.0.1/test.php
如果出現php的相關配置,成功,如果什麼都沒有輸入,說明失敗,重新以上步驟或者查找原因
如果決定在安裝後改變配置選項,只需重復最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效。Apache不需要重新編譯。
測試結果如下圖:
三、安裝MySql
1、下載
到官網下載mysql-5.1.65.tar.gz(注意是源碼包)
2、解壓
tar -zxvf mysql-5.1.65.tar.gz
3、建立目標文件夾
mkdir /usr/local/mysql
也就是說等下安裝的mysql要安裝到這個文件夾裡面
4、配置
./configure --prefix=/usr/local/mysql/
在./configure時出現錯誤:error: No curses/termcap library found
下載安裝相應軟體包
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
5、編譯
make
6、安裝
make install
7、啟動
MySQL服務並不會自動啟動,還需要先初始化MySQL資料庫,操作如下:
cd /usr/local/mysql/bin
sudo ./mysql_install_db --user=root
注意,這里最後的root是指可以操作資料庫的用戶,可以是當前用戶,也可以新建用戶,與linux上的root用戶是兩回事,可以自己取一個名字
./mysqld_safe --user=root & 這條命令負責啟動mysql服務的守護進程,此外最後的&時必須的,因為希望守護進程在後台運行
這里的root就是剛才的那個
8、為根用戶創建密碼
./mysqladmin -u root password 『123456』
如果root已經設置過密碼,採用如下方法
./mysqladmin -u root password oldpass 『123456』
9、測試
mysql -u root -p
會提示輸入密碼,就用剛才設置的密碼
123456
如果出現mysql>,說明連接成功了,下面通過命令 創建一個資料庫、建一個表,增加一條記錄,為後面的測試准備
mysql> create database gywtest;
mysql> use gywtest;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values('Tom');
注意每條命令後面有個分號,如果上面的都成功,後面就可以用這個測試。
四、將PHP與MySql結合起來
1、重新配置PHP,改變配置選項,只需重復PHP安裝時的最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效,Apache不需要重新編譯。
2、配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config 注意mysql_config 的路徑
3、編譯 make
4、安裝 make installe
5、測試 寫一個頁面test.php,放在apache的web目錄下,測試上面用命令創建的資料庫
<?php
$mysqli=new mysqli();
$mysqli->connect('localhost','root','123456','gywtest');
// 創建查詢
$sqlstr='select * from student';
//發送查詢給MySql
$result=$mysqli->query($sqlstr);
while($row=$result->fetch_object())
{
$name=$row->stuname;
echo $name;
}
?>
Fatal error: Class 'mysqli' not found in /home/lufangtao/Project/DB.php on line 3
解決方法:
/usr/local/php/bin/phpize 這里回車運行
出錯:
Cannot find config.m4.
Make sure that you run './phpize' in the top level source directory of the mole
解決方法:
PHP源碼包文件夾下的EXT文件夾就是放置著目前版本的可用擴展,CD進去看看都有哪些你需要的?應該看到mysqli文件夾了吧~~~
在當前目錄下執行phpize
[root@localhost mysqli]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Modeule Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解決方法:
yum install autoconf再次運行上面的命令即可。
[root@localhost mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
[root@localhost mysqli]#make
[root@localhost mysqli]#make install
安裝完成後會有提示擴展所在目錄路徑,如:
/opt/php/lib/php/extensions/no-debug-zts-20090626php
所需的mysqli.so便會在此目錄下,接下來修改/opt/php/etc/下的php.ini文件,加入mysqli擴展,即加入如下一行:
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
這里還是回出現錯誤:
參考博客http://www.cnblogs.com/wangtao_20/archive/2011/03/07/1973621.html
解決不用擴展連接MySQL的方法。
最終還是沒有解決MySQLi連接的問題,但是可以使用MySQL資料庫了,下面是測試程序
復制代碼
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "F!";
else echo "S!";
mysql_select_db("students") or die("Could not select database");
$query="SELECT * FROM student;";
$result=mysql_query($query) or die("Query failed");
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n"; }
print "</table>\n";
/* 釋放資源 */
mysql_free_result($result);
mysql_close();
?>
~

B. 如何使用PHP實時監控Linux伺服器的cpu,內存,硬碟信息

1,Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。
其實應該通過Physical
Processor
ID來區分單核和雙核。而Physical
Processor
ID可以從cpuinfo或者dmesg中找到.
flags
如果有
ht
說明
支持超線程技術
判斷物理CPU的個數可以查看physical
id
的值,相同則為同一個物理CPU
2,查看內存大小:
cat
/proc/meminfo
|grep
MemTotal
3,其他一些可以查看詳細
linux系統
信息的命令和方法:
uname
-a
#
查看內核/操作系統/
CPU信息
的linux系統信息命令
head
-n
1
/etc/issue
#
查看操作系統版本,是數字1不是字母L
cat
/proc/cpuinfo
#
查看CPU信息的linux系統信息命令
hostname
#
查看計算機名的linux系統信息命令
lspci
-tv
#
列出所有
PCI設備
lsusb
-tv
#
列出所有USB設備的linux系統信息命令
lsmod
#
列出載入的內核模塊
env
#
查看
環境變數
資源
free
-m
#
查看內存使用量和
交換區
使用量
df
-h
#
查看各分區使用情況

-sh
#
查看指定目錄的大小
grep
MemTotal
/proc/meminfo
#
查看內存總量
grep
MemFree
/proc/meminfo
#
查看空閑內存量
uptime
#
查看系統
運行時間
、用戶數、負載
cat
/proc/loadavg
#
查看系統負載磁碟和分區
mount
|
column
-t
#
查看掛接的分區狀態
fdisk
-l
#
查看所有分區
swapon
-s
#
查看所有
交換分區
hdparm
-i
/dev/hda
#
查看磁碟參數(僅適用於
IDE設備
)
dmesg
|
grep
IDE
#
查看啟動時IDE設備檢測狀況網路
ifconfig
#
查看所有網路介面的屬性
iptables
-L
#
查看防火牆設置
route
-n
#
查看
路由表
netstat
-lntp
#
查看所有監聽埠
netstat
-antp
#
查看所有已經建立的連接
netstat
-s
#
查看
網路統計
信息進程
ps
-ef
#
查看所有進程
top
#
實時顯示
進程狀態
用戶
w
#
查看活動用戶
id
#
查看指定用戶信息
last
#
查看
用戶登錄
日誌
cut
-d:
-f1
/etc/passwd
#
查看系統所有用戶
cut
-d:
-f1
/etc/group
#
查看系統所有組
crontab
-l
#
查看當前用戶的計劃任務服務
chkconfig
–list
#
列出所有系統服務
chkconfig
–list
|
grep
on
#
列出所有啟動的系統服務程序
rpm
-qa
#
查看所有安裝的軟體包
cat
/proc/cpuinfo
:查看CPU相關參數的linux系統命令
cat
/proc/partitions
:查看linux硬碟和分區信息的系統信息命令
cat
/proc/meminfo
:查看linux系統內存信息的linux系統命令
cat
/proc/version
:查看版本,類似uname
-r
cat
/proc/ioports
:查看設備io埠
cat
/proc/interrupts
:查看中斷
cat
/proc/pci
:查看pci設備的信息
cat
/proc/swaps
:查看所有swap分區的信息

C. 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
'<hr
/>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<stdio.h>
#include<stdlib.h>
#include<systypes.h>
#include<unistd.h>
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目錄下,訪問就會輸出當前的伺服器負載情況。
復制代碼
代碼如下:
<?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來做任何我們想執行的Linux系統命令,SVN更新,伺服器監控,備份,恢復,日常維護等等。

D. 怎麼在linux系統下查看php版本

1、首先可以利用find
/
-name
php.ini
查找一下,系統是否有php的配置文件。
2、利用netstat
-ntpl
查看9000埠是否在運行。
3、如果9000埠存在,可以使用lsof
-i:9000查看文件位置。
4、另外,如果系統已經安裝了php,你還可以用php
-v
查看版本號,前提是設置環境變數。

E. 如何檢查linux是否安裝了php

你可以在超級用戶狀態下使用 whereis 命令、或者是 find 命令查找 php 軟體,如果能夠找到相關的文件,就證明 Linux 系統安裝了 php 腳本語言。例如:
#whereis php <cr>
或者是:
#find / -name "*php*" -print <cr>
如果系統裡面安裝有 php 腳本語言的話,那麼通過這兩個命令必然會有反應的。至少會有 和php 相關的文件名顯示在屏幕上。

F. Linux系統上怎麼檢驗PHP環境搭建成功

放在Linux的任意目錄下,只在編譯時指定安裝到的目錄。
tar -zxvf php-5.3.18.tar.gz
cd php-5.3.18

不過在接下來的configure編譯過程中,遇到了一些比較繁瑣的問題:
1、提示錯誤信息:configure: error: Cannot find MySQL header files under /var/lib/mysql/

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/var/lib/mysql/

解決:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql

2、提示錯誤信息:configure: error: Cannot find MySQL header files under yes
解決:此問題主要是由於上面的configure參數中沒有指定--with-mysql路徑。
通過find / -name mysql.h查看是否存在這個文件所在路徑,如果不存在,則要安裝MySQL-devel-4.1.12-1.i386.rpm(必須要安裝的)。
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h

3、提示錯誤信息:configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information.
解決:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h --with-zlib-dir=/usr/lib

編譯PHP完整的configure參數(請注意apache的路徑):
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h --with-zlib-dir=/usr/lib
make
make install

把配置php.ini,只需要把php-5.3.18安裝包中的php.ini-proction拷貝到/usr/local/php/lib/下即可。
[root@localhost php-5.3.18]#cp php.ini-proction /usr/local/lib/php.ini
(一定要命名為php.ini,放在/usr/local/lib/路徑下;在編譯時可以指定php.ini的存放位置,也可以在Apache里指定其位置;如果位置錯誤,php擴展就不發載入,phpinfo()測試頁中看不到擴展信息)
-----------------------------------------------還算可以的分割線----------------------------------------------------------------
配置Apache中的PHP環境
需要修改Apache的配置文件httpd.conf以得到PHP的解析:
1、在LoadMole中添加:LoadMole php5_mole moles/libphp5.so
2、在AddType application/x-gzip .gz .tgz下面添加:
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
3、在DirectoryIndex增加 index.php,以便Apache識別PHP格式的index
<IfMole dir_mole>
DirectoryIndex index.html index.php
</IfMole>

最後一步驗證PHP環境:
在Apache網站目錄下新建php的phpinfo測試頁,/usr/local/apache/htdocs/info.php

[root@localhost htdocs]# vi info.php

<?php

phpinfo();

?>

通過http://192.168.200.102/info.php 驗證,通過phpinfo()可以查看很多信息,比如php.ini的存放路徑,以及所有擴展組件等,很強大。

G. php 伺服器怎麼監控多個下級工作站的網路狀態,cpu,磁碟使用情況呢

1,Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。其實應該通過PhysicalProcessorID來區分單核和雙核。而PhysicalProcessorID可以從cpuinfo或者dmesg中找到.flags如果有ht說明支持超線程技術判斷物理CPU的個數可以查看physicalid的值,相同則為同一個物理CPU2,查看內存大小:cat/proc/meminfo|grepMemTotal3,其他一些可以查看詳細linux系統信息的命令和方法:uname-a#查看內核/操作系統/CPU信息的linux系統信息命令head-n1/etc/issue#查看操作系統版本,是數字1不是字母Lcat/proc/cpuinfo#查看CPU信息的linux系統信息命令hostname#查看計算機名的linux系統信息命令lspci-tv#列出所有PCI設備lsusb-tv#列出所有USB設備的linux系統信息命令lsmod#列出載入的內核模塊env#查看環境變數資源free-m#查看內存使用量和交換區使用量df-h#查看各分區使用情況-sh#查看指定目錄的大小grepMemTotal/proc/meminfo#查看內存總量grepMemFree/proc/meminfo#查看空閑內存量uptime#查看系統運行時間、用戶數、負載cat/proc/loadavg#查看系統負載磁碟和分區mount|column-t#查看掛接的分區狀態fdisk-l#查看所有分區swapon-s#查看所有交換分區hdparm-i/dev/hda#查看磁碟參數(僅適用於IDE設備)dmesg|grepIDE#查看啟動時IDE設備檢測狀況網路ifconfig#查看所有網路介面的屬性iptables-L#查看防火牆設置route-n#查看路由表netstat-lntp#查看所有監聽埠netstat-antp#查看所有已經建立的連接netstat-s#查看網路統計信息進程ps-ef#查看所有進程top#實時顯示進程狀態用戶w#查看活動用戶id#查看指定用戶信息last#查看用戶登錄日誌cut-d:-f1/etc/passwd#查看系統所有用戶cut-d:-f1/etc/group#查看系統所有組crontab-l#查看當前用戶的計劃任務服務chkconfig–list#列出所有系統服務chkconfig–list|grepon#列出所有啟動的系統服務程序rpm-qa#查看所有安裝的軟體包cat/proc/cpuinfo:查看CPU相關參數的linux系統命令cat/proc/partitions:查看linux硬碟和分區信息的系統信息命令cat/proc/meminfo:查看linux系統內存信息的linux系統命令cat/proc/version:查看版本,類似uname-rcat/proc/ioports:查看設備io埠cat/proc/interrupts:查看中斷cat/proc/pci:查看pci設備的信息cat/proc/swaps:查看所有swap分區的信息

H. linux系統查看php版本的口令是什麼

linux系統查看php版本的命令是:

  1. 登錄linux伺服器執行以下命令:

php-v

輸出:

PHP5.4.45(cli)(built:Oct11201623:35:56)
Copyright(c)1997-2014ThePHPGroup
ZendEnginev2.4.0,Copyright(c)1998-2014ZendTechnologies
withtheionCubePHPLoader(enabled)+.com(unconfigured)v6.0.6,Copyright(c)2002-2016,byionCubeLtd.
withZendGuardLoaderv3.3,Copyright(c)1998-2013,byZendTechnologies

說明:php -v會輸出php的版本。

注意事項:centos下可以執行php -v命令。

I. 如何在linux中使用inotify實現文件系統的監控(php介面)

<?php

define('DIRWATCHER_CHANGED',IN_MODIFY|IN_CLOSE_WRITE|IN_MOVE|IN_CREATE|IN_DELETE);

/**
*DirWatcher
*
*@authorCharlesTang<charlestangATfoxmailDOTcom>
*/
classDirWatcher{

private$_callbacks=array();
private$_directories=array();
private$_inotify=null;

publicfunction__construct(){
$this->_inotify=inotify_init();
}

publicfunctionaddDirectory($path,$mask=DIRWATCHER_CHANGED){
$key=md5($path);
if(!isset($this->_directories[$key])){
$wd=inotify_add_watch($this->_inotify,$path,$mask);
$this->_directories[$key]=array(
'wd'=>$wd,
'path'=>$path,
'mask'=>$mask,
);
}
}

publicfunctionremoveDirectory($path){
$key=md5($path);
if(isset($this->_directories[$key])){
$wd=$this->_directories[$key]['wd'];
if(inotify_rm_watch($this->_inotify,$wd)){
unset($this->_directories[$key]);
}
}
}

publicfunctionaddDirectories($directories){
foreach($directoriesas$dir){
if(!is_array($dir)){
$this->addDirectory($dir);
}else{
$this->addDirectory($dir['path'],$dir['mask']);
}
}
}

publicfunctionaddCallback($callback,$params=array(),$priority=9){
$key=md5(var_export($callback,true));
if(!isset($this->_callbacks[$key])){
$this->_callbacks[$key]=array(
'callable'=>$callback,
'params'=>$params,
'priority'=>$priority,
);

usort($this->_callbacks,create_function('$a,$b','return$a["priority"]>$b["priority"];'));
}
}

publicfunctionremoveCallback($callback){
$key=md5(var_export($callback,true));
if(isset($this->_callbacks[$key])){
unset($this->_callbacks[$key]);
}
}

publicfunctionaddCallbacks($callbacks){
foreach($callbacksas$callable){
if(is_callable($callable)){
$callable=array(
'callable'=>$callable,
'params'=>array(),
'priority'=>9,
);
}

$this->addCallback($callable['callable'],$callable['params'],$callable['priority']);
}
}

publicfunctionstartWatch(){
while(TRUE){//啟動一個常駐進程,監視目錄的變化,事件觸發回調函數
$event=inotify_read($this->_inotify);

if(defined('DIRWATCHER_DEBUG')&&DIRWATCHER_DEBUG){
error_log(vsprintf("[wd:%d][mask:%d][cookie:%s]%s",$event[0]));
}

foreach($this->_callbacksas$callable){
call_user_func_array($callable['callable'],array_merge($event,$callable['params']));
}
}
}

publicfunctionstopWatch(){
//沒有實現,可以引入pcntl,優雅退出,退出前記得fclose($this->_inotify)
}

}

閱讀全文

與linux系統監控php相關的資料

熱點內容
崑山ug數控編程培訓 瀏覽:519
integer類源碼 瀏覽:819
java排序的時間復雜度 瀏覽:859
伺服器陣列卡壞了怎麼維修 瀏覽:537
shm演算法 瀏覽:520
可愛的程序員陸漓離開 瀏覽:608
如何把掃描文件做成pdf格式 瀏覽:625
php個性qq源碼 瀏覽:821
初學c語言顯示源未編譯 瀏覽:247
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:380
解壓的密碼htm被屏蔽 瀏覽:503
冬天太冷冰箱壓縮機不啟動怎麼辦 瀏覽:85
手機打開vcf需要什麼編譯器 瀏覽:912
加密磁碟後開機很慢 瀏覽:273
長沙智能雲控系統源碼 瀏覽:259
阿里雲伺服器如何設置操作系統 瀏覽:1001
超級命令的英文 瀏覽:784
做賬為什麼要用加密狗 瀏覽:586
考研群體怎麼解壓 瀏覽:159