2015-01-05 41 views
3

我目前正在準備一些軟件投入生產,我想檢查我的設置將進行優化,但是當我運行下面的命令,我收到以下信息:主義生產緩存與ZF2

php index.php orm:ensure-production-settings 
Metadata Cache uses a non-persistent cache driver, Doctrine\Common\Cache\ArrayCache. 

我也嘗試了上面的命令與-vvv但輸出是一樣的

我開始回顧我的代碼,我找不到在哪裏我使用任何ArrayCache。

這裏是我的current configuration

我知道它的工作,我可以檢查鍵在Memcached的系統,我可以看到的性能提升也是如此。根據我在網上找到的文檔,我只能找到在哪裏Doctrine建議使用APC生產緩存。

我目前使用最新的ZF2 2.3.3和最新的Doctrine 2運行PHP 5.6.4。這會使APC無法使用。

我很好奇,如果有什麼我失蹤或可以這樣做,當我運行orm:ensure-production-settings命令它可以保證我的Doctrine Cache是​​很好的生產?

也許學說只喜歡APC最佳緩存...

回答

1

檢查模塊的順序。

你從module.config.php的配置獲取覆蓋我的DoctrineModule。

檢查application.config.php而且它的順序是這樣的:

return [ 
'modules' => [ 
    'DoctrineModule', 
    'DoctrineORMModule', 

    //YOUR_MODULES_HERE! -> after DoctrineModule 
] 
]; 
+0

其實這就是我擁有它。 DocrineModule和DoctrineOrmModule在我稱爲OTDatabase的另一個模塊之前,這是我擁有我的實體的地方,也是我爲配置學習而配置的。 – Diemuzi

+0

轉儲您的完整配置並檢查它是否全部在...查看代碼index.php <?php //運行應用程序! $ app = Zend \ Mvc \ Application :: init($ appConfig); var_dump($ app-> getConfig()); exit(); $ app-> run(); – ThaDafinser