Warning: SplFileInfo::openFile〜の警告が表示されたら
開発環境:CakePHP2.5.1
ShellとWEBの両方で同一のModelを呼び出す時に「Warning: SplFileInfo::openFile〜」と警告が出る場合があります。
そんな時の対処方法です。
警告の原因
ShellでCakePHPを動かした時に生成されるModelのキャッシュの所有者と、WEB側で呼び出した時のユーザーが異なるために「Warning: SplFileInfo::openFile〜」の警告が表示されてしまいます。
maskを追加
これを解消するために、Modelのキャッシュが作られる時にmaskを設定することで、どちらからでもアクセスできるようになります。
やり方ですが、app/Config/core.phpの下記の部分にmaskオプションを追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php 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 )); |
柴田 篤志
最新記事 by 柴田 篤志 (全て見る)
- WordPressとCakePHPの共存 - 2014年10月22日
- サイトマップの作成方法 - 2014年10月12日
- INSERTしたIDを取得する - 2014年10月4日