SplFileInfo::openFileエラー/CakePHP3

スポンサーリンク

ローカルの CakePHP 3 開発環境で、表題のとおり SplFileInfo::openFile が発生しました。エラーメッセージの詳細は以下。

どうやら tmp/cache ディレクトリのパーミッションによるエラーっぽい。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

— 環境 —
PHP 5.5.19
CakePHP 3.1.1

tmp ディレクトリ以下のパーミッションを 777 にして解決

例によって CakePHP のことを検索で調べますと、CakePHP 2 の情報はたくさんひっかかるのだけど、CakePHP 3 の情報はけっこう少ない。stackoverflow などを当たりまして…

上記のコマンドを実行してパーミッションを変更しました。少々力技ですけど、ローカル環境だしとりあえずの対処。

これで、SplFileInfo::openFileエラーが消えました。時間がなかったので、SplFileInfo::openFile エラーについてはこの対処法で一旦解決とした。

CakePHP2 であれば Cache::config に mask オプションを追加

調査の過程で、ほかに Cache::config で mask の 0666 設定を追加する解決方法を多数見つけました。ただし、自分が見つけた範囲ではいずれも CakePHP 2 の場合のエラー対処法だった。以下のように mask オプションを追加してやると良いらしい。

app/Config/core.php

app/Config/bootstrap.php

CakePHP 3 ではこの方法は試していないので、上手くいくかどうかは分かりません。とりあえず将来必要になるかもしれないのでメモ。

スポンサーリンク
私は Ruby on Rails の前は、PHP & CakePHP を使っていました(今も使いますけど)。PHP についてはオライリーの本を中心に軽く10冊以上は読み込みました。
 
スポンサーリンク

Leave Your Message!