在 Linux 下執(zhí)行 php 腳本時(shí)通常是可以使用以下命令:

福鼎ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
1
#/usr/local/php/bin/php test.php
為簡(jiǎn)化輸入可把此php執(zhí)行程序 copy 到系統(tǒng)命令目錄下:
1
#cp /usr/local/php/bin/php /usr/sbin/
驗(yàn)證:輸入以下命令,如正確獲取 php 版本,說(shuō)明操作成功。
1
#php -v
這樣,以后再執(zhí)行PHP腳本時(shí)可直接采用以下輸入方式即可。
1
#php a.php
在 Linux 下執(zhí)行 php 腳本時(shí)通常是可以使用以下命令:#/usr/local/php/bin/php test.php
為簡(jiǎn)化輸入可把此php執(zhí)行程序 copy 到系統(tǒng)命令目錄下:
#cp /usr/local/php/bin/php /usr/sbin/
驗(yàn)證:輸入以下命令,如正確獲取 php 版本,說(shuō)明操作成功。
#php -v
這樣,以后再執(zhí)行PHP腳本時(shí)可直接采用以下輸入方式即可。
#php a.php
啟動(dòng)php-fpm。
/usr/local/php5/sbin/php-fpm?/usr/local/php5/為php-fpm的安裝地址。
/usr/local/php-5.6.3/sbin/php-fpm-R?#如果報(bào)錯(cuò)顯示不能用root用戶啟動(dòng),則可以考慮使用-R命令。
查看是否啟動(dòng)成功:
netstat-lnt|grep9000
tcp00127.0.0.1:90000.0.0.0:*LISTEN
或者使用如下命令,查看是否9000端口被php-fpm占用:
netstat-tunpl|grep9000
tcp?0?0127.0.0.1:9000?0.0.0.0:*?LISTEN?2124/php-fpm。
關(guān)于PHP運(yùn)行l(wèi)inux環(huán)境中命令出現(xiàn)的問(wèn)題。
php一般是以apache用戶身份去執(zhí)行的。
也可能是www用戶,把a(bǔ)pache加入到存儲(chǔ)你文件的父文件夾屬組里去。
然后改該父文件夾權(quán)限為775,這樣屬組成員就有寫(xiě)的權(quán)限,而apache屬于這個(gè)組就可以改寫(xiě)該目錄下所有文件的權(quán)限。
在安裝完P(guān)HP和Apache2后,我們需要安裝PHP命令行解釋器。
# apt-get install php5-cli [Debian 及類似系統(tǒng)]
# yum install php-cli [CentOS 及類似系統(tǒng)]
接下來(lái)我們通常要做的是,在/var/www/html(這是 Apache2 在大多數(shù)發(fā)行版中的工作目錄)這個(gè)位置創(chuàng)建一個(gè)內(nèi)容為 ?php phpinfo(); ?,名為 infophp.php 的文件來(lái)測(cè)試(PHP是否安裝正確),執(zhí)行以下命令即可。
# echo '?php phpinfo(); ?' /var/www/html/infophp.php
然后,將瀏覽器訪問(wèn) ,這將會(huì)在網(wǎng)絡(luò)瀏覽器中打開(kāi)該文件。
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結(jié)果。在Linux命令行中執(zhí)行/var/www/html/infophp.php,如:
# php -f /var/www/html/infophp.php
由于輸出結(jié)果太大,我們可以通過(guò)管道將上述輸出結(jié)果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less
檢查所有PHP信息
這里,‘-f‘選項(xiàng)解析并執(zhí)行命令后跟隨的文件。
你想問(wèn)得是php如何執(zhí)行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()這三個(gè)函數(shù)實(shí)現(xiàn)\x0d\x0a雖然這三個(gè)命令都能執(zhí)行l(wèi)inux系統(tǒng)的shell命令,但是其實(shí)他們是有區(qū)別的:\x0d\x0a system() 輸出并返回最后一行shell結(jié)果。\x0d\x0a exec() 不輸出結(jié)果,返回最后一行shell結(jié)果,所有結(jié)果可以保存到一個(gè)返回的數(shù)組里面。\x0d\x0a passthru() 只調(diào)用命令,把命令的運(yùn)行結(jié)果原樣地直接輸出到標(biāo)準(zhǔn)輸出設(shè)備上。\x0d\x0a 相同點(diǎn):都可以獲得命令執(zhí)行的狀態(tài)碼\x0d\x0a例子:system("ls -al");\x0d\x0a【使用之前要在php.ini中把safe_mode關(guān)閉】
system函數(shù)
說(shuō)明:執(zhí)行外部程序并顯示輸出資料。
語(yǔ)法:string
system(string
command,
int
[return_var]);
返回值:
字符串
詳細(xì)介紹:
本函數(shù)就像是
C
語(yǔ)中的函數(shù)
system(),用來(lái)執(zhí)行指令,并輸出結(jié)果。若是
return_var
參數(shù)存在,則執(zhí)行
command
之后的狀態(tài)會(huì)填入
return_var
中。同樣值得注意的是若需要處理用戶輸入的資料,而又要防止用戶耍花招破解系統(tǒng),則可以使用
EscapeShellCmd()。若
PHP
以模塊式的執(zhí)行,本函數(shù)會(huì)在每一行輸出后自動(dòng)更新
Web
服務(wù)器的輸出緩沖暫存區(qū)。若需要完整的返回字符串,且不想經(jīng)過(guò)不必要的其它中間的輸出界面,可以使用
PassThru()。
實(shí)例代碼:
復(fù)制代碼
代碼如下:
?php
$last_line
=
system('ls',
$retval);
echo
'Last
line
of
the
output:
'
.
$last_line;
echo
'hr
/Return
value:
'
.
$retval;
?
exec函數(shù)
說(shuō)明:執(zhí)行外部程序。
語(yǔ)法:string
exec(string
command,
string
[array],
int
[return_var]);
返回值:
字符串
詳細(xì)介紹:
本函數(shù)執(zhí)行輸入
command
的外部程序或外部指令。它的返回字符串只是外部程序執(zhí)行后返回的最后一行;若需要完整的返回字符串,可以使用
PassThru()
這個(gè)函數(shù)。
要是參數(shù)
array
存在,command
會(huì)將
array
加到參數(shù)中執(zhí)行,若不欲
array
被處理,可以在執(zhí)行
exec()
之前呼叫
unset()。若是
return_var
跟
array
二個(gè)參數(shù)都存在,則執(zhí)行
command
之后的狀態(tài)會(huì)填入
return_var
中。
值得注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統(tǒng),則可以使用
EscapeShellCmd()。
實(shí)例代碼:
復(fù)制代碼
代碼如下:
?php
echo
exec('whoami');
?
popen函數(shù)
說(shuō)明:打開(kāi)文件。
語(yǔ)法:int
popen(string
command,
string
mode);
返回值:
整數(shù)
詳細(xì)介紹:
本函數(shù)執(zhí)行指令開(kāi)檔,而該文件是用管道方式處理的文件。用本函數(shù)打開(kāi)的文件只能是單向的
(只能讀或只能寫(xiě)),而且一定要用
pclose()
關(guān)閉。在文件操作上可使用
fgets()、fgetss()
與
fputs()。若是開(kāi)檔發(fā)生錯(cuò)誤,返回
false
值。
實(shí)例代碼:
復(fù)制代碼
代碼如下:
?
$fp
=
popen("/bin/ls","r"
);
?
PHP監(jiān)控linux服務(wù)器負(fù)載
在實(shí)際項(xiàng)目的應(yīng)用中,我們由于各種條件的現(xiàn)實(shí),利用PHP來(lái)實(shí)現(xiàn)服務(wù)器負(fù)載監(jiān)控將是一種更為靈活的方式。
由于Web
Server以及PHP的實(shí)現(xiàn)方式所限,我們?cè)诂F(xiàn)實(shí)環(huán)境中很難利用PHP去調(diào)用一些Linux中需要root權(quán)限才能執(zhí)行的程序,對(duì)此,我從網(wǎng)上找到另外一種方式來(lái)繞開(kāi)這個(gè)限制。首先先寫(xiě)個(gè)c程序中轉(zhuǎn)調(diào)用系統(tǒng)命令,然后用PHP去執(zhí)行此c程序。
c程序
首先寫(xiě)個(gè)c文件,比如/usr/local/ismole/w.c
復(fù)制代碼
代碼如下:
#includestdio.h
#includestdlib.h
#includesystypes.h
#includeunistd.h
int
main()
{
uid_t
uid
,euid;
//note
獲得當(dāng)前的uid
uid
=
getuid();
//note
獲得當(dāng)前euid
euid
=
geteuid();
//note
交換這兩個(gè)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,這時(shí)會(huì)在當(dāng)前目錄下生成程序w。改變此程序的屬主chmod
u+s
./w。
PHP執(zhí)行
文件內(nèi)容如下,放在web目錄下,訪問(wèn)就會(huì)輸出當(dāng)前的服務(wù)器負(fù)載情況。
復(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的驗(yàn)證過(guò)程
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;
按照上面的實(shí)例,我們可以用PHP來(lái)做任何我們想執(zhí)行的Linux系統(tǒng)命令,SVN更新,服務(wù)器監(jiān)控,備份,恢復(fù),日常維護(hù)等等。
當(dāng)前標(biāo)題:linux解密php命令 php加解密函數(shù)
本文網(wǎng)址:http://chinadenli.net/article10/highgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App設(shè)計(jì)、企業(yè)網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)