CakePHP DB接続情報の設定
DBを phpMyAdmin で作成したので
次に、DBへの接続情報の設定を行います
(本来は、SQLコマンドで作成できれば、のちのちsqlファイルから
コマンドで作成できるので、とても役立つのですが、これは今後の課題です)
とりあえず、それは置いておいて
必要なファイルを作成します
DBへの接続情報を設定するには
database.php に記述するのですが
初期の状態ではこのファイルは存在しません
そこで、database.php.default をコピーし
このファイルを作成する必要があります
cd /var/www/cakephp/app/Config/
で移動して
cp database.php.default database.php
でファイルを作成します
次に。vim database.php でファイルを開き
の部分を変更します
なお、パラメータについては
初心者のためのCakePHP2.0 プログラミング入門:
を参考にさせていただきました
ちなみに、変更するのは default 項目のみ
というように変更します
変更したら、保存しファイルを閉じます
この状態でブラウザでアクセスしても
Your tmp directory is NOT writable.
となっているので、
次に
Your tmp directory is NOT writable.
の対処を行います
このメッセージは
tmp ディレクトリに書き込み権限がないことが原因です
試しに ls コマンドでパーミッションを調べてみます
みてのとおり、wの権限がないため、書き込みできません
このため、この権限を変更します
chmod -R 777 /var/www/cakephp/app/tmp/
これで、権限が変更され、再度
http://localhost/cakephp
へアクセスすると、すべてオールグリーンとなり
使用可能となります
次に、DBへの接続情報の設定を行います
(本来は、SQLコマンドで作成できれば、のちのちsqlファイルから
コマンドで作成できるので、とても役立つのですが、これは今後の課題です)
とりあえず、それは置いておいて
必要なファイルを作成します
DBへの接続情報を設定するには
database.php に記述するのですが
初期の状態ではこのファイルは存在しません
そこで、database.php.default をコピーし
このファイルを作成する必要があります
cd /var/www/cakephp/app/Config/
で移動して
cp database.php.default database.php
でファイルを作成します
次に。vim database.php でファイルを開き
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'test_database_name',
'prefix' => '',
//'encoding' => 'utf8',
の部分を変更します
なお、パラメータについては
初心者のためのCakePHP2.0 プログラミング入門:
を参考にさせていただきました
ちなみに、変更するのは default 項目のみ
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'myapps_user',
'password' => 'phpMyAdminで決めたパスワード',
'database' => 'myapps',
'prefix' => '',
'encoding' => 'utf8',
);
というように変更します
変更したら、保存しファイルを閉じます
この状態でブラウザでアクセスしても
Your tmp directory is NOT writable.
となっているので、
次に
Your tmp directory is NOT writable.
の対処を行います
このメッセージは
tmp ディレクトリに書き込み権限がないことが原因です
試しに ls コマンドでパーミッションを調べてみます
ll ../../app/
合計 64
drwxrwxr-x 14 snowpool snowpool 4096 2012-02-05 16:03 ./
drwxrwxr-x 6 snowpool snowpool 4096 2012-02-05 16:03 ../
-rw-rw-r-- 1 snowpool snowpool 141 2012-02-05 16:03 .htaccess
drwxrwxr-x 3 snowpool snowpool 4096 2012-02-24 22:58 Config/
drwxrwxr-x 4 snowpool snowpool 4096 2012-02-05 16:03 Console/
drwxrwxr-x 3 snowpool snowpool 4096 2012-02-05 16:03 Controller/
drwxrwxr-x 2 snowpool snowpool 4096 2012-02-05 16:03 Lib/
drwxrwxr-x 3 snowpool snowpool 4096 2012-02-05 16:03 Locale/
drwxrwxr-x 4 snowpool snowpool 4096 2012-02-05 16:03 Model/
drwxrwxr-x 2 snowpool snowpool 4096 2012-02-05 16:03 Plugin/
drwxrwxr-x 4 snowpool snowpool 4096 2012-02-05 16:03 Test/
drwxrwxr-x 2 snowpool snowpool 4096 2012-02-05 16:03 Vendor/
drwxrwxr-x 9 snowpool snowpool 4096 2012-02-05 16:03 View/
-rw-rw-r-- 1 snowpool snowpool 642 2012-02-05 16:03 index.php
drwxrwxr-x 6 snowpool snowpool 4096 2012-02-05 16:03 tmp/
drwxrwxr-x 6 snowpool snowpool 4096 2012-02-05 16:03 webroot/
みてのとおり、wの権限がないため、書き込みできません
このため、この権限を変更します
chmod -R 777 /var/www/cakephp/app/tmp/
これで、権限が変更され、再度
http://localhost/cakephp
へアクセスすると、すべてオールグリーンとなり
使用可能となります
スポンサーサイト