2018年1月14日日曜日

CakePHP3 共有フォルダ内のエラー

Vagrantでcakephp3を使用している場合、共有フォルダでエラーがでることがあります。その場合はフォルダのownerをapacheに変えます。
$ sudo chown -R apache:apache /vagrant/cake
Vagrantのバージョンが古いのかよくわかりませんが共有フォルダ内のownerが変更できないことがあります。その場合は一旦仮想マシンを終了、Vagrantfileに以下をそのまま書き加えます。環境に応じて書き換えたりする必要はありません。
config.vm.synced_folder "./", "/vagrant", owner: 'vagrant', group: 'apache', mount_options: ['dmode=777', 'fmode=777']
それで仮想マシンをもういちど起動します。
なおファルダ・ファイルの権限は当該フォルダ内でls -lコマンドを実行することで確認できます。

それでも治らない場合はSE Linuxが悪さをしている可能性があります。
以下のようにSE Linuxをオフにします。
$ sudo getenforce
Enforcing
$ sudo setenforce 0
$ sudo getenforce
Permissive
それで仮想マシンを再起動します。