我对网络管理还比较陌生,但在提出这个问题之前,我已经投入了大量的研究和努力。我知道我的问题与许多其他问题相似,但我不认为这是重复的。如果我错了,我深表歉意。
基本设置/问题:
我正在尝试在 Windows 虚拟机上使用 IIS 运行 PHP/Codeigniter 网站,但源代码与主机(Mac)共享。当我尝试加载主页时,出现以下 IIS 错误:
错误详细信息:
- 500.19 - 无法访问所请求的页面,因为该页面的相关配置数据无效
- 配置错误 - 无法读取配置文件(web.config)
- 错误代码 - 0x8007010b
根据此页面,“如果无法访问指定的内容目录,则可能会出现此问题。”https://support.microsoft.com/en-us/help/942055/http-error-500-19-error-when-you-open-an-iis-7-0-webpage
关键点:
所以显然我还没有成功授予 IIS 对 Mac 端文件的权限。
一些细节:
- 主机是一台运行Catalina 10.15的macbook。
- 主机正在通过系统偏好设置->共享来共享文件。
- 使用 VirtualBox 6.0.14,我运行客户操作系统,即 Windows v1909。
- 虚拟机已连接到桥接适配器。
- IIS 版本为 10.0.18362.1
- web.config 文件已经存在,并且它可以在该站点的其他部署(未尝试使用共享文件)上正常运行,因此没问题。
以下是我已采取的措施,这些措施是我从许多类似的问题中学到的:
- 我使用的 Mac 用户具有“读写”访问权限。我可以在 Windows VM 上的资源管理器中访问、编辑和保存共享文件。
- 我使用的 Windows 用户与 Mac 用户的名称和密码完全相同
- Windows 用户是管理员
- 应用程序池配置为使用该 Windows 用户作为身份(在进程模型下)
- 网站的身份验证设置为使用该应用程序池标识
- 在 IIS -> 网站 -> 基本设置 -> “测试设置...”中,身份验证和授权均通过测试。它显示“指定的用户凭据有效”。
- 已安装 IIS 的 URL 重写扩展
- php.ini 中未设置模拟标志。
如上所述,我尝试运行的网站是基于 PHP/Codeigniter 构建的。这就是我收到错误的地方。但是,如果我将网站的“基本设置”更改为指向从 mac 共享的简单 html 文件,它就会正常显示。所以我怀疑错误可能与 php 有关,或者与比仅仅显示 html 文件更复杂的东西有关。
任何帮助都将非常感激!