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

Phi*_*laf 1 cakephp apc

使用文件缓存时,此配置允许我从shell脚本写入/读取缓存

Cache::config('default', array(
    'engine' => 'File',
    'mask' => 0666
));
Run Code Online (Sandbox Code Playgroud)

但是,当使用这样的东西时

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

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

这是我的shell脚本:

class HelloShell extends AppShell {      
    public function main(){ 
        Cache::write('Hello', 5);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错误

Warning Error: default cache was unable to write 'hello' to Apc cache in [/home/pi/MyProject/lib/Cake/Cache/Cache.php, line 325]
Run Code Online (Sandbox Code Playgroud)

小智 8

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