2012-10-07 44 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