使用文件缓存时,此配置允许我从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]
答案 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