最近、FuelPHP | WinRoad徒然草をを見ながら、FuelPHPの勉強をしております。その中でもっとも最初ページが、「FuelPHPの導入」です。
このページでは、controllerで簡単なクラスを書いて、viewで結果を表示するという、FuelPHPのもっとも基本的な動作について説明しています。ただし、気をつけなければならない点が、1つあります。
ディレクトリの権限を”775″から”777″に
自分の場合、記載されているコードをコピペするだけではエラーが出ます(記事とバージョンが違うからもしれませんが。自分が1.7.3を使っています)。「”fuel/app/log”に書き込みができないぞ!」と怒られています。
対処は簡単でコマンドラインで”fuel/app/”に移動して、
“app”の下にある”logs”の権限を、”775″から”777″に変更すれば良いだけです。
日ごとに記録されるエラーログ
ちなみに、”fuel/app/log”には何が記録されていくのでしょうか?次のコマンドを入力すれば内容が分かります。
vi var/www/html/(プロジェクト名)/fuel/app/logs/2015/09/07.php
[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
[/php]
冒頭のエラーの内容から勘案すると、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ユーザー”に変更しておくことがポイントです。
〔参考サイト〕