本文目錄一覽:
- 1、php如何執行shell腳本
- 2、解析php中如何直接執行SHELL
- 3、如何啟用PHP了shell
- 4、如何讓php執行shell
- 5、ubuntu12.04 怎麼用php調用shell
- 6、如何通過php頁面執行shell腳本?
php如何執行shell腳本
這些shell命令一般服務商是不允許運行的,要不然伺服器很快就讓攻擊掉了
解析php中如何直接執行SHELL
本篇文章是對php中直接執行SHELL的方法進行了詳細的分析介紹,需要的朋友參考下 $message=shell_exec(“sudo /usr/local/webserver/nginx/sbin/nginx -t 21”);echo “運行結果:”.$message.””;上面的語句可以直接在PHP中執行SHELL語句如果有返回值 那麼其中的 21 是必須的 他會重定向輸出strerr 轉到strout 輸出!否則返回結果會為空!
如何啟用PHP了shell
在linux下請求頁面可以用wget 和 curl。統計cpu利用率到文件可以用 top -b 文件名
如何讓php執行shell
php給我們提供了system(),exec(),passthru()這三個函數來調用外部的命令.
雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:
system() 輸出並返回最後一行shell結果。
exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。
passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標準輸出設備上。
相同點:都可以獲得命令執行的狀態碼
例子:system(“/usr/local/bin/webalizer/webalizer”);
ubuntu12.04 怎麼用php調用shell
第一,應該查閱php.ini配置文檔(我的配置文檔位置是/etc/php5/php.ini),關閉安全模式 safe_mode=Off。
第二,給予php運行的用戶和本機用戶許可權。php運行的用戶名可以通過在localhost運行以下的php文件查到:
?php
echo shell_exec(“id -a”);
?123123
我的Ubuntu系統的php運行用戶名是www-data(好蠢的名字…)
控制台下,執行 visudo,可以打開/etc/sudoers文件進行修改(利用visudo命令的意義在於,sudoers文件很重要,如果修改錯了,visudo會提示你,而直接修改會導致系統出錯,無法使用sudo…)
修改的地方在root的下一行:
『查到的php運行的用戶名』 ALL=(ALL) NOPASSWD:ALL
『本機用戶名』 ALL=(ALL) ALL
通過以上設置,應該就能完成ubuntu系統下php調用並執行shell腳本。
PS.相關的命令(詳細請百度google之)
$output = shell_exec(“xxx.sh”);//只有失敗的時候返回NULL
system(“cmd string”,$status);//$ststus在調用成功時返回true,失敗返回false
如何通過php頁面執行shell腳本?
如果php允許那麼大的許可權,可以用 exec 函數, 不過這樣做很危險。
換個思考方式, 可以php向某個文件寫入一個指定數據, shell腳本定時監測這個文件,然後判斷內容,再執行指定腳本
原創文章,作者:FMJR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140665.html