- 相關(guān)推薦
php在服務(wù)器執行exec命令失敗的解決方法-php技巧
在學(xué)習、工作乃至生活中,大家都聽(tīng)說(shuō)過(guò)或者使用過(guò)一些比較經(jīng)典的技巧吧。以下是小編為大家整理的php在服務(wù)器執行exec命令失敗的解決方法-php技巧,僅供參考,希望能夠幫助到大家。
php在服務(wù)器執行exec命令失敗的解決方法-php技巧
前言:本文針對windows php環(huán)境,linux系統不在討論范疇。
出于安全的原因,服務(wù)器是不允許php或者其他語(yǔ)言執行exec命令的,當你有特殊需要php在服務(wù)器執行exec命令時(shí),你需要設置兩個(gè)地方,不然就無(wú)法執行成功。
1、修改php.ini
找到php配置文件php.ini,如果是用星外php自動(dòng)安裝程序配置php環(huán)境,這個(gè)文件就在C:WINDOWS這個(gè)目錄里。
在文件里搜索“disable_functions”,找到它后把“exec”、“shell_exec”去掉,然后保存文件。
2、修改cmd.exe文件屬性
進(jìn)入C:WINDOWSsystem32,找到cmd.exe這個(gè)文件,右鍵屬性,在“安全”設置里添加Internet 來(lái)賓賬戶(hù),也就是IUSR_xxxxx那個(gè)賬戶(hù),然后賦予“讀取與運行”、“讀取”的權限。
這樣設置完成后,php就可以在服務(wù)器執行exec命令了。
解決方法一:
修改ping或者對應命令的執行權限。
命令路徑問(wèn)題:
當我們用exec執行某個(gè)命令時(shí),不報錯,也不返回結果,原因是此命令沒(méi)有在環(huán)境變量配置的目錄下即/etc/profile文件中,以ifconfig為例,我們可以用whereis ifconfig,找出此命令具體路徑。
解決方法二:
1、復制命令到/usr/bin下,也就是環(huán)境變量下的目錄
2、直接將命令全路徑補全exec('/usr/sbin',Soutput)
3、在環(huán)境變量中增加目標目錄例如增加/usr/sbin到目錄
【php在服務(wù)器執行exec命令失敗的解決方法-php技巧】相關(guān)文章:
php外部執行命令函數10-27
MongoDB的PHP驅動(dòng)方法與技巧大全09-08
PHP的壓縮函數06-21
php高級教程01-23
PHP的cURL庫有效地抓網(wǎng)頁(yè)的技巧08-08
如何學(xué)好PHP知識09-20
PHP的基礎編程與應用10-16
淺析php函數的實(shí)例06-08
配置 PHP 調試環(huán)境07-20