Cakephp:使用Apc缓存时的权限问题

时间:2013-11-19 18:49:21

标签: cakephp apc

使用文件缓存时,此配置允许我从shell脚本

写入/读取缓存
Cache::config('default', array(
    'engine' => 'File',
    'mask' => 0666
));

然而,当使用这样的东西时

Cache::config('default', array(
    'engine' => 'Apc',
    'mask' => 0666 // I don't think this is used by Apc cache.
));

从shell脚本保存/读取缓存时出现权限错误。 Apc缓存在从常规页面加载运行时工作正常。我知道shell脚本不是从常规页面加载的同一用户执行,但我不知道如何正确设置Apc缓存权限。

这是我的shell脚本:

class HelloShell extends AppShell {      
    public function main(){ 
        Cache::write('Hello', 5);
    }
}

这是错误

Warning Error: default cache was unable to write 'hello' to Apc cache in [/home/pi/MyProject/lib/Cake/Cache/Cache.php, line 325]

2 个答案:

答案 0 :(得分:8)

您需要为php-cli启用APC http://www.php.net/manual/en/apc.configuration.php#ini.apc.enable-cli 因为shell作业以命令行php运行

答案 1 :(得分:1)

嗯,你刚回答了你的问题。您是否尝试将App / tmp /目录的权限更改为777?

#chmod -R 777 app/tmp