[CakePHP]セットアップ時の時に権限を適切に設定していない時のエラー

CakePHPを使ったソース一式を”git clone”し、セットアップしていたところ以下のようなエラーが出力されました。
書き込みエラーということですが、app/tmp配下の権限を設定していないためでした。

エラー内容

[time] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  _cake_core_ cache was unable to write 'cake_dev_ja' to File cache in /var/www/html/lib/Cake/Cache/Cache.php on line 328
[time] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  /var/www/html/app/tmp/cache/persistent/ is not writable in /var/www/html/lib/Cake/Cache/Engine/FileEngine.php on line 385
[time] [error] [client xxx.xxx.xxx.xxx] PHP Fatal error:  Uncaught exception 'CacheException' with message 'Cache engine "_cake_core_" is not properly configured. Ensure required extensions are installed, and credentials/permissions are correct' in /var/www/html/lib/Cake/Cache/Cache.php:186\nStack trace:\n#0 /var/www/html/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('_cake_core_')\n#1 /var/www/html/app/Config/core.php(376): Cache::config('_cake_core_', Array)\n#2 /var/www/html/lib/Cake/Core/Configure.php(72): include('/var/www/html/a...')\n#3 /var/www/html/lib/Cake/bootstrap.php(431): Configure::bootstrap(true)\n#4 /var/www/html/app/webroot/index.php(100): include('/var/www/html/l...')\n#5 {main}\n  thrown in /var/www/html/lib/Cake/Cache/Cache.php on line 186

■暫定対策
・app/tmp配下のパーミッションを777にする、もしくは、app/tmp配下のOWNERとGROUPをapacheにする
  →要はapacheにも実行権限を与えるということ

コマンドイメージ(sudoで行う必要があるかもしれません。動作は未確認)

$ chmod 777 -R app/tmp
$ # もしくは、
$ chown apache:apache -R app/tmp

■疑問
・何回かgitから持ってきて環境再構築しているけど、忘れたころに再構築するのでよく忘れる。
 →gitから持ってきた時に自動で、変更や設定を反映するような仕組みを作る必要がある?
 →そもそもgitで管理するところではない?
 →対策として正しい? 自分の場合、ローカルだからいいけど正式な対応なのかどうかは要調査

■参考
VagrantでCakePHPを動かそうとした際に躓いたこと

→Vagrantでの話なので、Vagrantfileの修正で対応していますが、

cakephpの初期画面が表示されない

シェアする

  • このエントリーをはてなブックマークに追加

フォローする