从IIS 6.0和PHP读取/写入NAS的问题

时间:2012-08-20 20:32:21

标签: php iis permissions fopen isapi-rewrite

我无法将脚本写入连接的网络驱动器/ NAS。奇怪的是,同一个Web服务器从服务器上的现有脚本读取/写入同一目录没有问题。我不熟悉Windows / IIS网络服务器,所以我会尽量列出尽可能多的东西。

首先,我使用一个简单的测试脚本来执行is_dir和is_writeable。我使用与工作脚本相同的$ dir变量。

以下是一个例子:

$aftn_path = "\\\\skynas01\\shared_files\\";
if(is_dir($aftn_path)) echo "$aftn_path is a directory."; else echo "$aftn_path is not a directory";

返回的是:

  

\\ skynas01 \ shared_files \不是目录

我可以将目录字符串复制/粘贴到运行命令中,目录打开正常。我检查了该目录的权限,并显示“每个人”可以从该目录读取/写入/执行。同样,另一个脚本与fopen()调用完全相同的目录字符串没有问题,我可以在那里写文件。

我能想到的唯一另一件事可能是IIS服务器使用了helicon ISAPI Rewrite模块,并且工作的脚本确实有一个指向该PHP文件的规则(我也不明白)

这是ISAPI重写规则

  RewriteRule /sys/filing(.*)   /phpsys/filing.php [I,L]

对我来说,看起来它只是别名/ sys - > / phpsys。

\ skynas01网络安装映射到服务器上的内部驱动器,驱动器号也无法访问(G:/ shared_files)。我也尝试使用正斜杠(// skynas01 / shared_files)。有没有人知道为什么我的脚本看不到这个目录?

1 个答案:

答案 0 :(得分:0)

肯定不是ISAPI_Rewrite。您可以通过从配置文件中删除规则来检查并请求您需要的东西。它仍然会抛出错误。