我有一台 Hyper-V 服务器,上面运行着 3 个实例,分别是测试、生产和文件。生产用户可以访问已安装的文件目录,并具有以下权限:“读取和执行”、“列出文件夹内容”和“读取”。测试服务器的用户具有相同的权限,但无法读取它们。
我的 PHP 日志中的错误是
[2012 年 3 月 9 日 6:40:07] PHP 警告:file_get_contents(\\Web\Data\files\thumbs\img123.png) >[function.file-get-contents]:无法打开 >stream:C:\inetpub\wwwroot\testing\test.php 第 2 行的权限被拒绝
我的 PHP 脚本是
$jpg = file_get_contents('\\\Web\Data\files\thumbs\img123.png');
我还遗漏了其他设置吗?PHPInfo 显示用户名是“test1$”;IIS 是否试图以其他用户身份访问文件?
谢谢。
答案1
查看以下设置:
应用程序池帐户-这可能设置为以不同的用户身份运行
身份验证 -> 匿名 -> 设置(如果您使用匿名身份验证)
如果您希望用户进行身份验证,并且代表用户进行身份验证,则通常进行身份验证设置。
您提到的“安装”可能表明正在尝试模拟并且失败(这将导致使用应用程序池帐户的网络标识;在大多数情况下,这可能是 Test1$/计算机帐户)。