PHP執行linux系統命令
1、在安裝完PHP和Apache2后,我們需要安裝PHP命令行解釋器。
2、打開linux命令行。找到linux環境下,php可執行文件的目錄。如圖所示。我的目錄為/usr/local/server/php/bin,將這個目錄記下。
3、PHP 中執行系統命令有幾種方式:system():和 C 語言中的 system() 函數的用法是一樣的,參數為命令行,成功則返回命令輸出的最后一行,失敗則返回 FALSE。shell_exec():執行命令,然后返回命令執行后的 stdout 輸出。
如何讓PHP通過ROOT權限來執行LINUX命令
\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()這三個函數實現\x0d\x0a雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:\x0d\x0a system() 輸出并返回最后一行shell結果。
把php的運行用戶改為root,這樣可能會存在一定的風險。在apache里面指定可以對某個root權限的文件或目錄做操作,該辦法沒試驗過。如果你能試驗成功的話,希望反饋一下哦。
權限問題 修改以后PHP可以運行部分命令了,但是部分外部程序和命令仍然不能運行。使用sudo返回失敗。于是運行“whoami”查看,環境下php-frm的運行角色是www。于是修改sudoers文件。
首先啟動系統,使用客人身份登錄,如下圖所示。登錄后會有提示,執行的操作在退出后都會消失。這時打開終端,想切換到root模式下,如下圖所示。然后點擊右上角的圖標,選擇root用戶或選擇切換用戶,如下圖所示。
第一步,切換到root下第二步,安裝super先到ftp://下載super-10-i38rpm。這是一個RPM文件,其它包括了兩個工具:setuid和super,以及它們的文檔和man手冊。
在linux部署php項目的方法:首先打開終端。yum install php php-devel輸入確認安裝,等待20秒左右及安裝成功。
php如何實現隨意執行linux命令(任意讀寫,刪除等)
\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()這三個函數實現\x0d\x0a雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:\x0d\x0a system() 輸出并返回最后一行shell結果。
php.ini的配置有問題。由于php是0以上的版本,取消了安全模式,所以考慮PHP.ini文件配置。打開php配置文件,里面有一行disabel_function的值,此處記錄了禁止運行的函數,在里面講exec和shell_exec,system等函數刪除。
php執行linux的命令用system或exec就可以,只要打開safemode,但是一些系統底層的沒有執行命令的不允許調用哦,實在有些命令例如zip之類想用的話,直接用php寫入一個shell腳本文件再exec那個sh就好了。