Zend_Cache_Frontend_Page使用問題

       這兩天研究在PHP代碼中如何ZendFramework的Zend_Cache,在研究對控制器頁面進行緩存時,可以使用Zend_Cache_Frontend_Page 。於是依據書上,依葫蘆畫瓢,根據手冊上的例子,進行操作,可是始終沒有緩存結果,奇怪了,什麼原因呢?
       跟蹤Zend_Cache_Frontend_Page的源代碼,發現緩存採用ob_start(callback)來實現的,我就想,會不會是我使用的Smarty原因(我在使用的ZF框架中,集成了Smarty,測試的時候,我沒有取消),去掉Smarty,重新測試,果然緩存目錄裏有文件了(原來因爲在Smarty中也使用了ob_start),這下正確了吧,於是再測試,新問題出現了,緩存文件是有了,可是裏面沒有存儲任何內容。實在不太明白,於是翻查手冊,在Google上搜尋,花了幾個小都沒有發現解決方案,頭都大了,都快放棄了,偶然間在國外的一個網站看到一句話“disableOutputBuffering must be true to work Zend_Cache_Frontend_Page.”,就是說要使用Zend_Cache_Frontend_Page,必須把disableOutputBuffering設爲True.disableOutputBuffering是前端控制器的一個變量,控制着前端輸出緩衝區,只要在創建前端控制器後,通過$front->setParam('disableOutputBuffering', true); 就可以了。設置後,果然正確了!ZF的手冊上關於這一點,竟然沒有寫明白。(或者是我沒有找到:-))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章