前提・実現したいこと
ここに質問の内容を詳しく書いてください。
PHP初学者です。
cakephpを使ってアプリを作成しようとしています。
下記の記事を参考に仮想環境に開発環境を構築しようとしています。
(参考記事:https://qiita.com/kenta0629/items/574251c140387779b681)
参考記事の手順8)まで行いローカルサーバーへアクセスすると以下のようなエラーが表示されました。
発生している問題・エラーメッセージ
Error: SQLSTATE[HY000] [14] unable to open database file If you are using SQL keywords as table column names, you can enable identifier quoting for your database connection in config/app.php. Warning(2):file_put_contents(/vagrant/test2/logs/error.log) [<a href='https://secure.php.net/function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied [CORE/src/Log/Engine/FileLog.php, line 133]
該当のソースコード
ログに表示されたファイルの133行目あたりを確認すると下記のようなコードの記述がありました。
FileLog.php
1$pathname = $this->_path . $filename; 2 $mask = $this->_config['mask']; 3 if (!$mask) { 4 return file_put_contents($pathname, $output, FILE_APPEND); 5 }
試したこと
解決法を探していると下記のリンクに似たような質問事項を見つけました。
(類似質問事項:https://teratail.com/questions/155786)
上記URL内のやりとりによると、上記コード(return file_put_contents($pathname, $output, FILE_APPEND);)によるファイルの書き込み?がパーミッションエラーなのかなと判断しています。
また、回答に貼られているリンクを読むとパーミッションの変更にはchmod関数で行うとあり、今回のエラー解消にも
これが使えるのではと考えているのですが、chmod関数を配置する場所がわからず止まっています。
質問内容
・現在自分が解決方法と考えている上記chmod関数の正しい使い方をご教示いただきたいです。
・他に解決方法となるかもしれないという方法があれば記載いただきたいです。
補足情報(FW/ツールのバージョンなど)
mysql Ver 14.14 Distrib 5.6.44
Apache/2.4.6 (CentOS)
PHP 5.6.40
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/03 06:43
2019/06/03 09:47
2019/06/06 01:22