0

我无法让脚本写入连接的网络驱动器/NAS。奇怪的是,同一个网络服务器从服务器上的现有脚本读取/写入同一目录没有问题。我不擅长使用 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)。有谁知道为什么我的脚本看不到这个目录?

4

1 回答 1

0

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

于 2012-08-22T02:39:55.597 回答