IIS 10 上的 PHP 无法访问网络共享

IIS 10 上的 PHP 无法访问网络共享

我之前在 2012 R2 上运行过 iis 8.5,一切运行正常。

在迁移到全新安装的 Server 2016 后,我移植了之前安装的站点,一切似乎都正常。除了一个 PHP 页面。

以前,它被配置为通过网络名称 (//server/share/folder/) 获取目录内容。并且这样做没有任何问题。

如果我将它指向几乎任何本地目录,它就会起作用。

我确信这是某种 IIS 10 沙盒问题。我确保应用程序池用户可以访问共享,我甚至尝试将 AppPool 用户更改为域管理员帐户(用于测试!)。我确认生成的 php-cgi.exe 进程确实以 AppPool 用户身份运行。

我现在有点困惑。我将 appconfig 和 site 配置与旧安装中的配置进行了比较,发现它们几乎完全相同。

还有谁尝试过这样做并且成功了吗?

(另请注意,我没有创建新标签的声誉,并且在我看来现在需要 iis-10 标签。)

答案1

弄清楚了!

问题是 open_basedir 被设置为 C:\inetpub

这意味着 PHP 不允许访问该目录树之外的任何内容。将其注释掉即可解决问题。

相关内容