2016-08-03 54 views
1

我試圖設置奏鳴曲塊緩存,但是當我設置http_cache處理程序時,即使服務似乎在那裏,我也收到異常。奏鳴曲塊http緩存處理程序sonata.cache.noop未定義

我目前的測試設置以下

sonata_cache: 
    caches: 
     predis: 
      servers: 
       - {host: %redis_host%, port: %redis_port%, database: 2} 
     apc: 
      token: %secret% # token used to clear the related cache 
      prefix: %domain%  # prefix to ensure there is no clash between instances 
#   servers: 
#    - { domain: %domain%, ip: 127.0.0.1, port: 80 } 
      timeout: 
       RCV: { sec: 5, usec: 0 } 
       SND: { sec: 5, usec: 0 } 

sonata_block: 
    http_cache: 
#  handler: sonata.cache.noop 
     listener: true 

我可以看到多種服務,我在sonata_cache.caches

$ app/console debug:container sonata.cache.noop 
[container] Information for service sonata.cache.noop 
Service Id  sonata.cache.noop 
Class   Sonata\Cache\Adapter\Cache\NoopCache 
Tags 
    - sonata.cache     () 
[...] 

如果我改變sonata_block設置爲啓用:

sonata_block: 
    http_cache: 
     handler: sonata.cache.noop 
     listener: true 

我得到了以下異常

InvalidArgumentException在ContainerBuilder.php行796 「的服務 定義 」sonata.cache.noop「 不存在」。

有沒有人有類似的問題?

回答

1

嘗試更換:

handler: sonata.cache.noop 

到:

handler: sonata.block.cache.handler.noop