MAMP を使用してローカルで CakePHP 2.2 サイトを開発しています。ときどき、1 つまたは複数のキャッシュ ファイルに書き込めないという、次のような警告が 1 つまたは複数表示されます。
Warning: SplFileInfo::openFile(/Applications/MAMP/htdocs/mywebsite/www/app/tmp/cache/persistent/myapp_cake_core_cake_console_en-au): failed to open stream: Permission denied in /Applications/MAMP/htdocs/mywebsite/www/lib/Cake/Cache/Engine/FileEngine.php on line 313
奇妙なことに、/tmp は 777、tmp/cache は 777、tmp/cache/persistent は 777 です (心配しないでください... サーバーでは 777 にはなりません!)。tmp/cache/persistent 内のファイル自体は 644 ですが、Cake がそのファイルを作成および管理していると想定しており、必要な権限でそれを行っています。
ページを更新するだけで、エラーは消えます (そして、しばらくしてから再び表示されます)。私は明示的なキャッシングを行っていないので、これは Cake が自動的に行っていることです。
だから私の質問は:
a) この Cake の自動キャッシングはどのように機能しますか? ページが更新されるたびにそのファイルに書き込もうとしていて、たまにしか失敗しませんか? それとも、たまにそのファイルに書き込もうとしているだけで、試行するたびに失敗していますか?
b) たまにしか失敗しない場合は、無視しても問題ありませんか? また、試行するたびに失敗する場合は、どうすれば修正できますか?
助けてくれてありがとう!