【cakePHP】ユーザー名を変えてログインするとPERMISSION エラーになる

 

 

現象

 

同じセッションでログイン名が変更されたときにPERMISSIONエラーが発生する
※ただしCASHEをクリアすると解消する

 

 Warning: SplFileInfo::openFile(..../app/tmp/cache/persistent/myapp_cake_core_file_map): failed to open stream: Permission denied in ..../lib/Cake/Cache/Engine/FileEngine.php on line 314

 

 

原因

 
これはキャッシュへのアクセス権限がないために発生していると考えられます
 

 

対策

 
CORE.PHP(CONFIGフォルダ)のCACHE設定部分を下記のように変更すると解決します
 

Cache::config('_cake_core_', array(
	'engine' => $engine,
	'prefix' => $prefix . 'cake_core_',
	'path' => CACHE . 'persistent' . DS,
	'serialize' => ($engine === 'File'),
	'duration' => $duration,
    'mask' => 0666
));

Cache::config('_cake_model_', array(
	'engine' => $engine,
	'prefix' => $prefix . 'cake_model_',
	'path' => CACHE . 'models' . DS,
	'serialize' => ($engine === 'File'),
	'duration' => $duration,
    'mask' => 0666
));