Допустим, у меня есть простая консольная программа для получения списка файлов по имени папки. Я хочу вызвать консольную программу с использованием кода PHP на сайте, который работает под уникальной учетной записью пользователя Windows (т.е. не по умолчанию для учетной записи веб-пользователя). Есть ли способ разрешить доступ учетной записи Windows к консольной программе, не предоставляя ей общий доступ к cmd.exe? Я работаю с IIS 6 на Windows 2003 Server.
Обновление:
Вот код, который я пробовал использовать 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]: слишком большой результат
OR
popen ("C: \ WINDOWS \ system32 \ notepad.exe", r) [function.popen]: нет такого файла или каталога
Понятия не имею, почему сообщение об ошибке противоречиво. Результаты были еще менее многообещающими при использовании proc_open ().