【发布时间】:2010-10-07 23:41:54
【问题描述】:
假设我有一个简单的控制台程序来获取给定文件夹名称的文件列表。我想在一个运行在唯一 Windows 用户帐户(即不是默认 Web 用户帐户)上的站点上使用 PHP 代码调用控制台程序。有没有一种方法可以允许 Windows 帐户访问控制台程序,而无需全面访问 cmd.exe?我在 Windows 2003 Server 上使用 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);
$error 最终包含:
popen("C:\WINDOWS\system32\notepad.exe",r) [function.popen]: 结果太大
或
popen("C:\WINDOWS\system32\notepad.exe",r) [function.popen]: 没有那个文件或目录
我不知道为什么错误消息不一致。使用 proc_open() 的结果更没有希望。
【问题讨论】:
标签: iis-6