首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用在IIS中运行的PHP访问映射的网络驱动器

如何使用在IIS中运行的PHP访问映射的网络驱动器
EN

Stack Overflow用户
提问于 2019-11-29 09:40:43
回答 1查看 669关注 0票数 0

我在PHP (5.6)中拥有这个web系统,并且运行在IIS8.5WindowsServer 2012 R2中。我想做的是列出目录中的所有文件。我正在读取的目录是另一个服务器的共享文件夹(Y:\shared文件夹)的映射网络驱动器。当我执行网络驱动器的命令dir时,php代码看不到它。

我在这里搜索过,并看到了许多可能的解决方案,但没有在我的终端工作。我不确定我做得对。所以我会在这里分享我现在的设置。

当我在CLI上运行whoami时,我得到了"pc_name\administrator“。当我在代码中执行它时,我会得到"iis apppool\cs2“。

映射的网络驱动器(Y:\shared文件夹)共享如下:

  • Everyone
  • SYSTEM
  • Administrator (pc_name\Administrator)
  • Administrators (pc_name\Administrators)
  • IIS_IUSRS (pc_name\IIS_IUSRS)
  • CS2 (iis apppool\cs2)

)

我的IIS如下:

身份验证

匿名身份验证(已启用,凭据:应用程序池identity)

  • ASP.NET模拟(Disabled)

  • Forms身份验证(禁用)

应用程序池

True)

  • DefaultAppPool

  • CS2 (.NET CLR v4.0,托管管道模式:集成,标识: ApplicationPoolIdentity,负载用户配置文件:.NET (.NET CLRv4.0),托管管道模式:集成,标识: ApplicationPoolIdentity,加载用户配置文件:真)

快速CGI设置

  • C:\php\php-cgi.exe (协议Tcp)

网站: CS2

CS2

  • Application

  • 站点名称:池:CS2
  • 物理路径: C:\inetpub\wwwroot\cs2
  • Connect as‘管理员’

这些都是我的设置,但我仍然无法访问映射的网络驱动器。我的IIS中是否有丢失或不正确的设置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 03:16:20

不确定它在映射驱动器、IIS和PHP中是否正常工作。但建议改用UNC路径。

当您运行whoami时,您的应用程序将它作为您的登录用户执行。但是,当您在IIS中承载web应用程序时。该应用程序运行在应用程序池身份和通过匿名用户访问文件。

如果您的共享文件夹服务器和IIS服务器位于同一域中。然后,您可以尝试将应用程序池标识设置为具有足够权限访问文件夹的域帐户。然后,请转到匿名身份验证并编辑它,以使用应用程序池身份验证

如果您的共享文件夹服务器和IIS服务器是两个独立的工作站。然后您可能需要创建一个具有相同用户名和密码的用户。然后授予用户读/写访问UNC路径的权限。最后,您只需将匿名用户和应用程序池标识都设置为该用户。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59102283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档