0
假設我有一個簡單的控制檯程序來獲取文件夾名稱的文件列表。我想在運行於獨特Windows用戶帳戶(即不是默認Web用戶帳戶)的網站上使用PHP代碼調用控制檯程序。有沒有一種方法可以讓Windows帳戶訪問控制檯程序,而無需一蹴而就訪問cmd.exe?我正在使用Windows 2003 Server上的IIS 6。如何將有限的控制檯程序訪問權限分配給IIS 6?
更新:
下面是一些代碼,我用popen()
$reg_cmd = '"C:\WINDOWS\system32\notepad.exe"' ;
$error = '';
$handle = popen($reg_cmd, 'r');
if (!$handle){
$last_error = error_get_last();
$error = $last_error['message'];
}
else{
while (!feof($handle)) {
$result .= fread($handle, 2096);
}
}
pclose($handle);
$錯誤結束含有嘗試之一:
POPEN(" C:\ WINDOWS \ SYSTEM32 \ notepad.exe ",r)[function.popen]:結果太大
或
個POPEN(" C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE ",R)[function.popen]:沒有這樣的文件或目錄
我不知道爲什麼錯誤信息是不一致的。使用proc_open()的結果甚至不太有希望。
讓我去吧 – KalenGi 2010-10-08 15:08:58
我用一些代碼更新了問題。 proc_open()沒有生成句柄,因此stdout和stderr對象不可訪問。順便說一句,代碼工作正常,如果我給cmd.exe的權利(這是我所避免的) – KalenGi 2010-10-08 19:46:07