- 相關(guān)推薦
php在服務(wù)器執(zhí)行exec命令失敗的解決方法-php技巧
在學(xué)習(xí)、工作乃至生活中,大家都聽說過或者使用過一些比較經(jīng)典的技巧吧。以下是小編為大家整理的php在服務(wù)器執(zhí)行exec命令失敗的解決方法-php技巧,僅供參考,希望能夠幫助到大家。
php在服務(wù)器執(zhí)行exec命令失敗的解決方法-php技巧
前言:本文針對(duì)windows php環(huán)境,linux系統(tǒng)不在討論范疇。
出于安全的原因,服務(wù)器是不允許php或者其他語言執(zhí)行exec命令的,當(dāng)你有特殊需要php在服務(wù)器執(zhí)行exec命令時(shí),你需要設(shè)置兩個(gè)地方,不然就無法執(zhí)行成功。
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è)文件,右鍵屬性,在“安全”設(shè)置里添加Internet 來賓賬戶,也就是IUSR_xxxxx那個(gè)賬戶,然后賦予“讀取與運(yùn)行”、“讀取”的權(quán)限。
這樣設(shè)置完成后,php就可以在服務(wù)器執(zhí)行exec命令了。
解決方法一:
修改ping或者對(duì)應(yīng)命令的執(zhí)行權(quán)限。
命令路徑問題:
當(dāng)我們用exec執(zhí)行某個(gè)命令時(shí),不報(bào)錯(cuò),也不返回結(jié)果,原因是此命令沒有在環(huán)境變量配置的目錄下即/etc/profile文件中,以ifconfig為例,我們可以用whereis ifconfig,找出此命令具體路徑。
解決方法二:
1、復(fù)制命令到/usr/bin下,也就是環(huán)境變量下的目錄
2、直接將命令全路徑補(bǔ)全exec('/usr/sbin',Soutput)
3、在環(huán)境變量中增加目標(biāo)目錄例如增加/usr/sbin到目錄
【php在服務(wù)器執(zhí)行exec命令失敗的解決方法-php技巧】相關(guān)文章:
MongoDB的PHP驅(qū)動(dòng)方法與技巧大全09-08
PHP的壓縮函數(shù)06-21
php高級(jí)教程01-23
如何學(xué)好PHP知識(shí)09-20
淺析php函數(shù)的實(shí)例06-08