我在PHP (5.6)中拥有这个web系统,并且运行在IIS8.5WindowsServer 2012 R2中。我想做的是列出目录中的所有文件。我正在读取的目录是另一个服务器的共享文件夹(Y:\shared文件夹)的映射网络驱动器。当我执行网络驱动器的命令dir时,php代码看不到它。
我在这里搜索过,并看到了许多可能的解决方案,但没有在我的终端工作。我不确定我做得对。所以我会在这里分享我现在的设置。
当我在CLI上运行whoami时,我得到了"pc_name\administrator“。当我在代码中执行它时,我会得到"iis apppool\cs2“。
映射的网络驱动器(Y:\shared文件夹)共享如下:
)
我的IIS如下:
身份验证
匿名身份验证(已启用,凭据:应用程序池identity)
应用程序池
True)
快速CGI设置
网站: CS2
CS2
这些都是我的设置,但我仍然无法访问映射的网络驱动器。我的IIS中是否有丢失或不正确的设置?
发布于 2019-12-02 03:16:20
不确定它在映射驱动器、IIS和PHP中是否正常工作。但建议改用UNC路径。
当您运行whoami时,您的应用程序将它作为您的登录用户执行。但是,当您在IIS中承载web应用程序时。该应用程序运行在应用程序池身份和通过匿名用户访问文件。
如果您的共享文件夹服务器和IIS服务器位于同一域中。然后,您可以尝试将应用程序池标识设置为具有足够权限访问文件夹的域帐户。然后,请转到匿名身份验证并编辑它,以使用应用程序池身份验证。
如果您的共享文件夹服务器和IIS服务器是两个独立的工作站。然后您可能需要创建一个具有相同用户名和密码的用户。然后授予用户读/写访问UNC路径的权限。最后,您只需将匿名用户和应用程序池标识都设置为该用户。
https://stackoverflow.com/questions/59102283
复制相似问题