1. TOPTOP
  2. Webサービス
  3. FuelPHP

FuelPHPで/fuel/app/logsの書き込み権限を変えました ‘Unable to create or to write the log file. ‘が返ってきたときの対処法

|

web_dev

最近、FuelPHP | WinRoad徒然草をを見ながら、FuelPHPの勉強をしております。その中でもっとも最初ページが、「FuelPHPの導入」(新しいタブで開く)です。

このページでは、controllerで簡単なクラスを書いて、viewで結果を表示するという、FuelPHPのもっとも基本的な動作について説明しています。ただし、気をつけなければならない点が、1つあります。

ディレクトリの権限を”775″から”777″に

fuel_app_log1

自分の場合、記載されているコードをコピペするだけではエラーが出ます(記事とバージョンが違うからもしれませんが。自分が1.7.3を使っています)。「”fuel/app/log”に書き込みができないぞ!」と怒られています。

fuel_app_log2

対処は簡単でコマンドラインで”fuel/app/”に移動して、

fuel_app_log3

“app”の下にある”logs”の権限を、”775″から”777″に変更すれば良いだけです。

日ごとに記録されるエラーログ

ちなみに、”fuel/app/log”には何が記録されていくのでしょうか?次のコマンドを入力すれば内容が分かります。

vi var/www/html/(プロジェクト名)/fuel/app/logs/2015/09/07.php
<?php defined('COREPATH') or exit('No direct script access allowed'); ?>

ERROR - 2015-09-07 10:43:28 --> Error - The requested view could not be found: sample1/index.php in /var/www/html/testproject31/fuel/core/classes/view.php on line 398

冒頭のエラーの内容から勘案すると、07.phpにはおそらくエラーログが書かれているのでしょう。書き込むべきエラーがあるにもかかわらず、logディレクトリに書き込めなかったんですね。

あと最後の”07.php”のファイル名は日にちを表すようです。従って一度ディレクトリの権限を”777″にすると、プロジェクトを続ける限りは権限を変えない方が良いと思います。

追記 2015/09/29

後日、Linuxサーバーについて明るい方から、”777″以外にする方法を聞いてきました。権限と所有者を下記のように変更します。

$ chmod 700 logs
$ sudo chown apache:username logs
$ ls -la
drwx------ 3 apache username 4096 Sep 16 18:52 logs

権限はすべて所有者に集めておきます。また、その所有者を一般ユーザーから、”apacheユーザー”に変更しておくことがポイントです。

〔参考サイト〕