2014-09-06 100 views
2

我在學習Symfony2,真的很酷的東西。但是當我想嘗試訪問生產環境時,我遇到了一些麻煩。我遵循位於這裏的Symblog教程:http://tutorial.symblog.co.uk/Symfony生產環境拋出500錯誤:Doctrine ORM ORMException'未知實體命名空間別名'DSBlogBu​​ndle'

我已清除緩存並訪問http://symfony.dev/我已在本地運行。該頁面仍然完全空白的,這是錯誤日誌中:

Fatal error: Uncaught exception 'Doctrine\ORM\ORMException' with message 'Unknown Entity namespace alias 'DSBlogBundle'.' 
in /Applications/MAMP/htdocs/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php:236 
Stack trace: 
#0 /Applications/MAMP/htdocs/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Configuration.php(194): Doctrine\ORM\ORMException::unknownEntityNamespace('DSBlogBundle') 
#1 /Applications/MAMP/htdocs/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(554): Doctrine\ORM\Configuration->getEntityNamespace('DSBlogBundle') 
#2 /Applications/MAMP/htdocs/symfony/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(194): Doctrine\ORM\Mapping\ClassMetadataFactory->getFqcnFromAlias('DSBlogBundle', 'Blog') 
#3 /Applications/MAMP/htdocs/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(295): Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('DSBlogBundle:Bl...') 
#4 /Applications/MAMP/htdocs/symfony/vendor in /Applications/MAMP/htdocs/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php on line 236 

什麼我不明白的是,'Unknown Entity namespace alias 'DSBlogBundle'是完全「已知」的發展環境。有誰知道我錯過了什麼?任何幫助深表感謝!謝謝!

+0

你可以發佈'config.yml'的'doctrine:orm'部分嗎? – FyodorX 2014-09-06 15:57:21

回答

10

夫婦的可能性,我能想到的:

1)如果你的代碼工作正常在開發環境中,那麼它可能是一個緩存的問題和/或權限問題。確保您的文件可以被與您的Web服務器相關的用戶/進程讀取,並確保prod緩存目錄可由該用戶寫入,以便它可以生成必要的文件。我一般都在運行清除緩存控制檯命令作爲用戶,以避免意外緩存的問題,像這樣(在Linux上):

sudo -u www-user php app/console cache:clear --env=prod 

如果你在Linux上開發,你必須以root登錄或具有管理員權限的其他用戶以非您自己的用戶身份運行命令。

2)您可能在dev環境中定義了在prod環境中不存在的配置。仔細檢查您的app/config文件夾中的文件。我的第一個猜測是DSBlogBundle沒有在app/AppKernel.php中正確定義,但我相信這是獨立的環境,所以它不能在開發工作,但不是產品。

+1

好的!謝謝。我已經開始使用這個工具,並且錯誤信息已經改變爲與緩存文件夾權限相關的內容!大!我必須現在走,但我會在今天晚些時候繼續嘗試!非常感謝! – 2014-09-07 09:26:07

+1

我最終不得不做的只是刪除prod緩存文件夾。現在它工作得很好!謝謝! – 2014-09-07 12:30:16

+1

第二點在答案解決了我的問題..良好的漁獲 – Nandakumar 2015-10-13 13:38:26