- 1、php執行exec許可權不足怎麼辦
- 2、如何啟用php.ini的exec 許可權
- 3、怎麼在伺服器開啟執行exec的許可權 PHp+iis
- 4、使用php的exec許可權問題
- 5、php exec()
- 6、請問大家,php exec()如何執行tshark命令。系統說要root許可權,不知道如何設置?
1、檢查php.ini配置文件中disable_functions配置項是不是包含exec。
2、檢查php解釋器是否以足夠許可權的用戶運行。
首先是
要關掉
安全模式
safe_mode
=
off
然後在看看
禁用函數列表
disable_functions
=
proc_open,
popen,
exec,
system,
shell_exec,
passthru
這裡要把
exec
去掉
重啟
apache
就ok了
關閉php的安全模式在php.ini中搜索safe_mode把他的值設成On重起apache和iisiis必須在運行里用iisreset來重啟
需要注意兩方面的許可權
一是php腳本要有讀取及運行gcc文件路徑的許可權
二是運行此腳本的iis賬戶不能用默認的賬號 IUSR類用戶無執行exe許可權
最好建立一個單獨的許可權大點的賬號 為了伺服器安全請禁用遠程登錄訪問
然後在 IIS 相應站點 身份驗證里指定新建立的用戶
因為執行exe不同,所以用哪個用戶組合適 請自己測試
先從許可權小的user組試
php的exec函數用法如下:
exec — 執行一個外部程序
string exec( string $command[, array $output[, int $return_var]])
exec() 執行command 參數所指定的命令。
command:要執行的命令。
output:如果提供了 output 參數,那麼會用命令執行的輸出填充此數組,每行輸出填充數組中的一個元素。數組中的數據不包含行尾的空白字元,例如 \n 字元
請注意,如果數組中已經包含了部分元素,exec()函數會在數組末尾追加內容。
如果不想在數組末尾進行追加,請在傳入 exec() 函數之前對數組使用 unset() 函數進行重置。
return_var:如果同時提供output和return_var 參數,命令執行後的返回狀態會被寫入到此變數。
返回值:
命令執行結果的最後一行內容。
如果需要獲取未經處理的全部輸出數據,請使用 passthru() 函數。
如果想要獲取命令的輸出內容,請確保使用 output 參數。
可以這樣,把你的web引擎所在的用戶添加到sudoers裡面,然後指定 nopassword吧,雖然這樣不安全,但是你僅僅是管理的話別人就不知道了,就不存在什麼隱患了,貌似你要做管理系統?
原創文章,作者:HT3MQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126773.html