我无法将脚本写入连接的网络驱动器/ 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)。有没有人知道为什么我的脚本看不到这个目录?
答案 0 :(得分:0)
肯定不是ISAPI_Rewrite。您可以通过从配置文件中删除规则来检查并请求您需要的东西。它仍然会抛出错误。