FuelPHPのoilコマンドで、データベースにログインしようとしたら、エラーが出ました。そのエラーの原因は大きく分けて2つあります。
- Authパッケージの使用を拒否される
- データベースに接続できない
目次
エラーの解決方法
本当は、一つの問題に対して、それぞれの解決方法を示すことができればいいと思います。ただその解決方法が分かってから、記事として記録するまでにかなりの時間が経過してしまいました。細かいことは忘れた。
もっとも、そのときにFuelPHPの設定ファイルなどをどのように書き換えたのか、メモ書きが残っています。なので、それらをそのままコピペしておきます。変更箇所は3カ所です。この3カ所を変更することで
1.app/config/config.phpの変更
app/config/config.phpでデフォルトの、always_load’、その中の”‘packages'”の配列は、コメントアウトになっているので外します。
ただし’orm’はコメントアウトのままにしておき、”‘auth’,”を追加します。
'always_load' => array(
'packages' => array(
// 'orm',
'auth',
),
),
2.fuel/app/config/production/db.phpを変更
fuel/app/config/production/db.phpに、データベース名、データベースの作業ユーザ名とパスワードを入力します。
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
'username' => 'myusername',
'password' => 'mypassword',
),
),
);
3.public/.htaccessの変更
public/.htaccessで、環境変数FUEL_ENVの値として、本番環境を有効にします(自分の場合、さくらのクラウドで公開するつもりなので)
SetEnv FUEL_ENV production
詳しくは「はじフレ」まで
我ながらちょっと粗っぽい書き方ですね。でも、はじめてのフレームワークとしてのFuelPHP 改訂版の364ページでデータベースの接続設定について、ちゃんと説明されています。詳しいことを知りたい方はどうぞ本書までw
〔参考サイト〕

