先在 php 裡面測一下,是不是連Windows 的 dir 都不能用。
<? exec("dir"); ?>
如果出現下面的訊息,就代表 exec 指令已經失效。
Warning: exec(): Unable to fork [dir] in testcmd.php on line 23
這樣的狀況通常發生在 PHP 以 CGI 模式安裝在 IIS 上,如果連執行 dir 都出現這個訊息,就代表 PHP 找不到 cmd.exe,以致於 exec() 連帶無法使用。
這時把 cmd.exe 複製到 PHP 安裝的目錄 (如c:\php) 就可以了。
5 comments On [PHP] 在 Windows 下無法使用 exec() 的原因
高人啊!看瞭你的東西獲益很多。
請問exec(“dir”)指令會秀出什麼畫面?
Cossack:
您太客氣了,我只是把我遇到的狀況寫出來而已。^^
小峰:
你可以試看看呀~^^
呵呵,帮了我的大忙啊
不好意思,我想請問一下,我執行你說的指令後,卻什麼也沒發生….
其實我是想用exec去呼叫一個執行檔(用Delphi)寫的,但是即使寫了絕對路徑還是ㄧ樣。safemode是off,至於人家說什麼權限問題,請問那是什麼?是指我的exe權限沒有開放嗎? 我該去哪看檔案權限,又該怎麼改呢?