php system不執(zhí)行的解決辦法:1、將disable_functions等號(hào)后面的system去掉;2、添加當(dāng)前站點(diǎn)的運(yùn)行賬號(hào)權(quán)限;3、將文件的訪問(wèn)路徑改為相對(duì)路徑,并將IECapt.exe復(fù)制到站點(diǎn)程序當(dāng)前目錄下即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、Dell G3電腦。
php system 不執(zhí)行怎么辦?如何解決PHP 無(wú)法執(zhí)行system()函數(shù)的問(wèn)題?
問(wèn)題闡述
PHP 無(wú)法執(zhí)行system()函數(shù)是什么原因呢?
解答
PHP 無(wú)法執(zhí)行system()函數(shù),可能有以下幾種情況:
(1)Warning: system() has been disabled for security reasons
該錯(cuò)誤是由于服務(wù)器安全配置將system 函數(shù)關(guān)閉了,打開(kāi)php.ini 文件,將disable_functions等號(hào)后面的system 去掉即可。
(2)Warning: system() [function.system]: Unable to fork
該錯(cuò)誤是由于當(dāng)前站點(diǎn)的運(yùn)行賬號(hào)無(wú)法訪問(wèn)cmd.exe,找到Windowssystem32cmd.exe 屬性,添加當(dāng)前站點(diǎn)的運(yùn)行賬號(hào)權(quán)限或users 組權(quán)限即可。
(3)在Web 訪問(wèn)下執(zhí)行沒(méi)有任何響應(yīng)也不報(bào)錯(cuò),使用php cli 命令行執(zhí)行卻可以正常返回結(jié)果,該錯(cuò)誤一般是由Windows 系統(tǒng)路徑引起的,程序中可能是使用了絕對(duì)路徑去訪問(wèn)程序,例如:
system('D:serverDLLIECapt.exe --url=http://tech.cncms.com --out="D:webtt.fei.cnhtdocsttttech.png"');
此時(shí)用命令行執(zhí)行結(jié)果正確,但用Web 訪問(wèn)就會(huì)返回空白頁(yè),沒(méi)有錯(cuò)誤。
修改方法:將文件的訪問(wèn)路徑改為相對(duì)路徑,并將IECapt.exe 復(fù)制到站點(diǎn)程序當(dāng)前目錄下,并將代碼改為:
system('IECapt.exe --url=http://www.baidu.com --out=t/tech.png');
3再次訪問(wèn)頁(yè)面,就可以正常輸出了。
推薦學(xué)習(xí):《PHP視頻教程》