2012-10-07 120 views
0

下的本地主机文件后,会定期从GitHub Yii的分支下载说明这样一个问题:将无法​​访问的Windows

copy(Z:\home\localhost\www\insur\insurance\assets\c75d288a\css\_notes\dwsync.xml) [<a href='function.copy'>function.copy</a>]: failed to open stream: Permission denied 

(/_notes/dwsync.xml - 是Dreamweaver将自动为创建的文件开发者笔记)。 我无法弄清楚以下:

  1. 为什么Yii的努力来实现复制($路径,$ dst.DIRECTORY_SEPARATOR $文件);对于该文件(它在这里:[site_root] \ yii \ framework \ utils \ CFileHelper.php(130))?
  2. 为什么Windows本地主机上可能存在访问错误?
  3. 什么是错误来源 - Windows,Apache或Yii(或者DW)?
  4. 什么是解决方案?

所以真正的古鲁需要! 我相信这里是一个!

回答

1
  1. 一般的Yii Assets Manager将尝试发布(或再版)向度资源的副本(IMG,CSS,JS,...等),通过您的应用程序使用(由您或nativly的框架,如GII模块做的东西)
  2. 如果您未对Web服务器进程设置所需的权限,则可能在localhost中发生访问错误。但在这种情况下,我认为Web服务器无法从开始找到该文件夹​​。
  3. 它是Yii & Apache之间的共同犯罪。 Yii的CAssestsManager期待一个资产文件夹,阿帕奇无法找到它,并抱怨
  4. 建议解决方案:

请确保您有一个文件夹命名为资产在你的应用程序根,并确保它的由web服务器进程写入

要了解更多关于Yii的资产产生检查这个wiki-post

+0

谢谢Nimir!但这里有一个问题对我来说还不清楚。我只是不知道如何检查访问文件夹是否可写入Web进程。你能解释给我吗? – srgg6701

+0

好吧,由于您使用localhsot进行开发,我建议您将所有进程的文件夹权限设置为可写,以避免不必要的访问写入头痛,请查看:http://www.blogsdna.com/2159/how-to-take -ownership-grant-permissions-to-access-files-folder-in-windows-7.htm Ofcouse在部署中不应该像这样。 – Nimir