CakePHPを使ってデータベースを作りたい(その4)CakePHPの警告メッセージを消す
前回出た警告メッセージの対処を行う。
(1)Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE\cake\libs\debugger.php, line 684]
→'Security.salt'の値を変えろと言っている。
C:\xampp\htdocs\cake-sample\app\config\core.phpをエディタで開いてみると、201〜204行目に以下の文字列あり。
/**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
この「DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi」の部分を他の文字列に変更する。
※この文字列は運用中に変更しないこと。変更した場合、AuthコンポーネントのUsersテーブルの作り直しが必要になる。また、念のためバックアップもとっておいた方がよさそう。
(2)Notice (1024): Please change the value of 'Security.cipherSeed' in app/config/core.php to a numeric (digits only) seed value specific to your application [CORE\cake\libs\debugger.php, line 688]
→'Security.cipherSeed'の値を変えろと言っている。
C:\xampp\htdocs\cake-sample\app\config\core.phpをエディタで開いてみると、206〜209行目に以下の文字列あり。
/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
この「76859309657453542496749683645」の部分も他の数字に変更する。
(5)Your database configuration file is NOT present. Rename config/database.php.default to config/database.php
→あなたのデータベースの構成ファイルが存在してないと言っている。
C:\xampp\htdocs\cake-sample\app\config に database.php.defaultというファイルがあるので、メッセージの言うとおりdatabase.phpにファイル名を変更する。
すべてのメッセージに対処したので、画面を再描画。
さてどうなるかな。。
新手の黄色メッセージが現れた。
Cake is NOT able to connect to the database.
→データベースに接続することができないと言っている。
先ほどのconfig/database.php(データベース設定ファイル)を開く。
class DATABASE_CONFIG {var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
);var $test = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'test_database_name',
'prefix' => '',
);
}
デフォルト用とテスト用として、2つのデータベース設定情報が定義されている。
とりあえず、テスト用データベース設定情報は目障りなので削除しておく。
class DATABASE_CONFIG {var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
);
}
これをデータベースに接続することができる形に直す必要がある。
加えて「データベース自体」と「データベースに接続するためのユーザ」も用意する必要がある。
XAMPPコンパネでApacheとMySqlを起動させてから、http://localhost/xampp/へ移動。
ツールの「phpMyAdmin」をクリック。(http://localhost/phpmyadmin/へ移動する。)
「新規データベースを作成する」の下にあるテキストボックスに「testdb」と入力して「作成」ボタンをクリック。
データベース「testdb」が作成されたので、データベース設定ファイルを以下のように修正。
(ユーザはとりあえずデフォルトで作成されてそうなrootユーザを使う。)
('encoding' => 'UTF-8'は、文字化けしないおまじない。)
class DATABASE_CONFIG {var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'testdb',
'prefix' => '',
'encoding' => 'UTF-8',
);
}
これで黄色メッセージはなくなるかな。。
グレイト。
次回は、同じことをさくらインターネットに実装することに挑戦したい。
(その前にMySqlのセキュリティを何とかすべきか。そしたらまたdatabase.phpも直さないと。)