【问题标题】:How can I access a shared network folder (scandir) in laravel?如何访问 laravel 中的共享网络文件夹(scandir)?
【发布时间】:2021-01-04 22:16:46
【问题描述】:

我有三台windows服务器,一台是域控制器,一台通过IIS托管laravel,另一台是一台带有共享网络文件夹的windows服务器进行存储。每次我尝试使用以下方法访问共享驱动器上的文件夹时:

scandir('\\服务器名\文件夹名');

我收到以下错误

scandir(\servername\foldername,\servername\foldername): 访问被拒绝。 (代码:5)

这显然是一个权限错误,因为对服务器的访问仅限于 DC 的 AD 中的帐户,因为 laravel 应用程序正在使用本地 IIS 用户执行。有人可以帮我解决我应该做的事情吗?

谢谢!

【问题讨论】:

  • 我从 php 开始也遇到了同样的问题! scandir 和 fopen 之类的东西需要一个绝对的 local 路径,而不是带有协议或任何东西的路径。如果您在本地映射驱动器,这就是它想要的路径。

标签: php laravel windows iis permissions


【解决方案1】:

您应该将IIS应用程序池标识修改为网络服务帐户,然后修改共享文件夹权限,让网络服务帐户访问。

关于如何修改应用程序池,可以参考article

更多关于如何设置共享文件夹权限,可以参考answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    相关资源
    最近更新 更多