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]

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

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

#chmod -R 777 app/tmp

最新更新