CodeIgniterのLogが出力できない
CodeIgniterのLog
Vagrant + CentOS7にCodeIgniterを入れて環境構築を行なった。
CodeIgniterのlogの設定はapplication/config/config.php
で行う。
log_path
ログの出力先。
デフォルトはapplication/logs
に20XX-XX-XX.php
のようなログが出力される。
$config['log_path'] = '';
log_threshold
どのログを出力させるか設定を行う。
| 0 = Disables logging, Error logging TURNED OFF | 1 = Error Messages (including PHP errors) | 2 = Debug Messages | 3 = Informational Messages | 4 = All Messages $config['log_threshold'] = [1,2];
ログの埋め込み
log_message('debug', 'テスト');
原因
logsフォルダは存在するが、ログファイルが生成されない。
調べてみると、vagrantの共有フォルダで
apacheの書き込み権限がないのが原因だったみたい。
$ ls -al 該当フォルダのパス
で確認するとオーナーとグループがvagrantだったので
Vagrantfileで設定を変更
解決法:Vagrantfileで権限を変更
config.vm.synced_folder "./data", "/var/www/html/", mount_options: ['dmode=777','fmode=755']
参考リンク
vagrant共有フォルダのパーミッションでハマった話 | Buddying Blog
【vagrant】共有フォルダのパーミッションで悩んだ話【chmodできない】 - すこしふしぎ.
vagrant上、共有ファイルのパーミッションを変更する - Qiita