0

从 github Yii 下载分支后定期显示这样的问题:

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 尝试实现 copy($path,$dst.DIRECTORY_SEPARATOR.$file); 对于那个文件(它在这里:[site_root]\yii\framework\utils\CFileHelper.php(130))?
  2. 为什么在 Windows localhost 上可能出现访问错误?
  3. 究竟什么是错误源 - Windows、Apache 或 Yii(或者可能是 DW)?
  4. 什么是解决方案?

所以需要一个真正的大师!我相信这是一个!

4

1 回答 1

1
  1. 一般来说,Yii Assets Manager会尝试发布(或重新发布)您的应用程序使用的不同资源(img、css、js、..etc)的副本(由您制作或在框架中自然生成,例如 Gii 模块的东西)
  2. 如果您没有为 Web 服务器进程设置所需的权限,则可能会在 localhost 中发生访问错误。但在这种情况下,我认为网络服务器从一开始就找不到该文件夹​​。
  3. 这是 Yii 和 Apache 的共同犯罪。YiiCAssestsManager需要一个assets文件夹,Apache 找不到它并抱怨
  4. 建议的解决方案:

确保您的 App Root 中有一个名为assets的文件夹,并确保它可以被 Web 服务器进程写入!!

要了解有关 Yii 资产的更多信息,请查看此wiki-post

于 2012-10-07T14:59:25.177 回答