2011-08-29 85 views
1

我有一個緩存模塊配置的問題。Kohana緩存模塊不加載設置服務器(kohana 3.2)

我也做了以下內容:

  1. Cache::$default = 'memcachetag';在bootstrap.php中

  2. 複製的模塊/高速緩存/配置/ config.php中使用以下的配置應用/配置/ config.php中:

    return array(
        // Override the default configuration 
        'memcachetag' => array(
        'driver'   => 'memcachetag', // Use Memcached as the default driver 
        'default_expire' => 8000,  // Overide default expiry 
        'servers'  => array(
         // Add a new server 
         array(
         'host'  => 'server', 
         'port'  => 11211, 
         'persistent' => FALSE 
         ) 
        ), 
        'compression' => FALSE 
    ) 
    ); 
    

的問題是 '服務器' 是沒有被覆蓋所以它總是從模塊的配置文件中拉(主機名始終是本地主機)

我做一個實例與Cache::instance(),並與回聲Debug::vars(Cache::instance());

012檢查值

提前致謝!

回答

1

我通過創建一個新的緩存配置組來解決這個問題,然後將所有其他配置組命名爲不同,然後將其設置爲引導中的默認組。

0

您的文件列表需要在Kohana項目的所有三層(系統,模塊和應用程序)中構建相同的文件以允許文件超載。

所以你需要把你的超載配置文件放在application/config/cache.php而不是modules/application/config.php。緩存配置文件在modules/cache/config/cache.php中,所以這個文件會被你的配置文件重載。

看吧:http://kohanaframework.org/3.2/guide/cache/config#group-settings

下面是每個受支持的驅動程序的默認緩存配置組。添加或覆蓋application/config/cache.php文件中的這些設置。

+0

對不起,我在我的文章中犯了一個錯誤,我確實在modules/application/config.php中設置了它,我可以更改'default_expire'=> 8000等值,並且它們顯示已更改,但是當我更改服務器值被忽略,並使用本地主機 – Ian

+0

一些更多的信息 當我在modules/cache/config/cache.php中添加服務器它工作正常(我編輯了memcacetag配置數組) 當我做回聲Devug :: vars (Kohana :: $ config-> load(cache)我沒有看到我添加的服務器,我只看到localhost – Ian

+0

儘管如此,配置文件不應該在'modules/application/config.php'中,它們應該在'application/config/cache.php'。我不知道你的應用程序文件夾在哪裏,但現在它不會重載模塊的值樂。 – Luwe