从IIS 6.0和PHP读取/写入NAS时出现问题


Issues reading/writing to NAS from IIS 6.0 and PHP

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

首先,我使用一个简单的测试脚本来执行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)。有人知道为什么我的脚本看不到这个目录吗?

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