我在 Windows Server 2008 机器 (IIS 7) 上有一个 php 脚本,该脚本定期运行以下载远程 XML 文件并将其存储在服务器上。此脚本 (以前可以成功运行) 现在失败,并出现以下错误:
Warning: fopen(C:\inetpub\wwwroot\alan\html\xml) [function.fopen]: failed to open stream: Permission denied in C:\inetpub\wwwroot\alan\html\helpers\weather_proxy.php on line 22
如果这有关系的话,我所做的唯一更改就是将此目录(下的所有内容alan
)切换为 Git 存储库的签出副本。
我已经尝试过或检查过:
- 目录/文件权限——我甚至将完全控制权授予每个人,从 c:\inetpub\wwwroot\alan` 开始,一直到文件本身,以防权限没有被正确继承。值得一提的是,这也包括脚本本身。
- 安全模式已禁用。
我是不是漏掉了什么?我之所以提到 Git 签出,是因为如果我在此目录中打开 Git shell,它会报告-rw-r--r--
我尝试写入的文件的有效权限。 chmod
根据 bashls
读数,执行此文件的操作不会执行任何操作,但根据 Windows 文件属性对话框的权限报告,每个人都具有完全控制权限。我是不是漏掉了一些明显的东西?
编辑:我应该指出,这个错误无论是在命令行上交互运行脚本时,还是通过 Web 服务器运行脚本时都会发生。
答案1
哎呀!尝试写入文件 ( C:\inetpub\wwwroot\alan\html\xml\outfile.xml
) 而不是目录 ( C:\inetpub\wwwroot\alan\html\xml
) 才有意义,不是吗?