2014-01-27 66 views
4

我一直在我的Mac上進行PHP開發多年,但我不得不將我的部署操作系統從Linux和Mac更改爲Windows Server。我已經建立了一臺Windows服務器,與我將要部署到VMWare Fusion VM中的機器相同。Symfony2和Windows虛擬機

與Vagrant設置非常相似,我已經從本地計算機共享一個文件夾到虛擬機,我試圖通過虛擬機服務於Symfony2應用程序,同時繼續在Mac上進行開發(所有工具是)。

配置頁運行正常,但是當我嘗試加載實際的網頁,我收到以下錯誤:

InvalidArgumentException: Unable to parse file 
"\\VMWARE-HOST\SHARED FOLDERS\Symfony\vendor\symfony\symfony\src\Symfony\Bundle 
\FrameworkBundle\DependencyInjection/../Resources/config\web.xml". 

InvalidArgumentException: 
[WARNING 1549] failed to load external entity "file://///VMWARE-HOST/SHARED%20FOLDERS/Symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd" (in n/a - line 0, column 0) 
[WARNING 3084] Element '{http://www.w3.org/2001/XMLSchema}import': Failed to locate a schema at location 'file://///VMWARE-HOST/SHARED%20FOLDERS/Symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd'. Skipping the import. (in in_memory_buffer - line 8, column 0) 
[ERROR 1845] Element '{http://symfony.com/schema/dic/services}container': No matching global declaration available for the validation root. (in //vmware-host/Shared Folders/Symfony/web/ - line 5, column 0) 

我一直無法弄清楚如何糾正這些錯誤......任何關於如何糾正這些問題的建議或我是DOOOMED!

故障排除:我已經使用相同的VM /文件夾共享啓動並運行了Laravel應用程序,因此它與Symfony2有關。我也嘗試過在Composer安裝和Symfony2網站下載和下載。

+0

看來Symfony2找不到該文件。請檢查是否存在'file:///// VMWARE-HOST/SHARED%20FOLDERS/[...]/services-1.0.xsd'並且可以被服務器讀取。 –

+0

你正在運行什麼版本的Symfony2?你是否會遇到與Symfony全新安裝相同的問題? –

+0

您可以嘗試在Windows服務器上設置映射網絡驅動器(例如使用G:\而不是\\ vmware-host \ shared folders) - 如果問題是UNC路徑本身,這可能是一種解決方法。 – Nils

回答

-1

您應該清除symfony的緩存,它可能會保留對過時文件的引用。您可嘗試先:

php app/console cache:clear --no-debug 

如果錯誤仍然存​​在,手動刪除應用程序/緩存/應用/日誌/緩存文件。並在兩個文件夾中設置proper permissions

+0

這絕對不是解決方案。此錯誤出現在緩存被清空的時刻。 – frieder

+0

@frieder,這就是爲什麼我添加*如果錯誤仍然存​​在,請手動刪除緩存文件夾的內容......它發生在我之前。 – devilcius

+0

,我這樣做,即使緩存內容被刪除,錯誤仍然存​​在,這個問題有一個賞金,不是因爲一個簡單的「刪除緩存錯誤」 – frieder