2014-02-15 85 views
2

我剛剛完成了關於symfony的Symblog教程。除非我嘗試在生產環境中運行項目,否則一切正常。在博客頁面上,在頁面頂部和註釋部分頂部顯示以下錯誤消息:Deprecated: getEntityManager is deprecated since Symfony 2.1. Use getManager instead in F:\xampp\htdocs\php\symblog\vendor\doctrine\doctrine-bundle\Doctrine\Bundle\DoctrineBundle\Registry.php on line 71 我想知道爲什麼,因爲我爲其他項目使用了相同的版本(symfony 2.3.10),並且在這些我從未看到這條消息。所以我該怎麼做? 在此先感謝!Symfony 2產品環境棄用呼叫

回答

5

你應該替換你的代碼來使用getManager()方法而不是getEntityManager()或者只是改變你的error_reporting PHP設置(看看下面的代碼片段)。

沒有出現在其他項目中的其他折舊的消息是不同的錯誤報告配置(可能somwthing類似於以下 - 棄用警告將不會報告)的原因:

error_reporting(E_ALL^E_DEPRECATED); 
+0

我在開發中發現出了問題環境。我在控制器中使用了'getEntityManager()'。令我困惑的是,這個錯誤指向了我從未碰過的symfony中的一個文件。但現在它正在工作。謝謝。 – Kable

+1

@Kable這就是爲什麼我們總是應該在開發環境中顯示所有錯誤/警告:)很高興提供幫助。 –

+0

它從內部函數/文件中拋出,但是該函數是從外部代碼調用的。如果您查看錯誤日誌(來自apache或其他應用程序服務器),您將看到從何處調用它。 –