参考にさせて頂いたページ
CakePHPの使い方 インストールからHelloWorldまで | Designup
CakePHPをさくらサーバー(共有)にインストールしてみた | webOpixel
以前さくらのレンタルサーバーでやった記事
さくらのレンタルサーバスタンダードにCakePHPをインストールしてみる - MOTOMICHI WORKS BLOG
でやったのとほぼそのままだけど、vagrant使って改めて。
セキュリティコードの作成
example/app/Config/core.phpを編集する。
参考サイトとはバージョンが違うと思うので、225行目、230行目が編集対象箇所。
以下のようになっていたので、ランダムな文字列に変更してみる。
/**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
適当に変更して、core.phpをアップロードしてみたら、赤くなっている上部の2行のエラーが解消された。
データベース設定ファイルをコピーして作成
example/app/Config/database.php.default
をコピーして、ファイル名をdatabase.phpに変更する。
ページを更新すると、ページ下部のConnectionManager.phpに関する赤くなっているエラー2行が解消される。
黄色いエラーが二個ある
赤は無くなったけど、黄色が二個ある。
CakePHP is NOT able to connect to the database.
Database connection "Mysql" is missing, or could not be created.
SQLSTATE[28000] [1045] Access denied for user 'user'@'localhost' (using password: YES)
のように残っており、これはデータベース接続に失敗またはデータベースが作成されていない旨を伝えるエラー。
さくらインターネットのレンタルサーバーにインストールしたときとは微妙にちがう。
もうひとつは
DebugKit is not installed. It will help you inspect and debug different aspects of your application.
You can install it from GitHub
となっていて、DebugKitがインストールされていない旨を伝えている。
まずdatabese.phpを編集する
ここまでvagrantその1から順番にやってきた場合は、以下のようにするとひとつ解消できる。 本番サーバーにアップするときは、こんなんじゃなくてちゃんと変更しましょう。
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'password',
'database' => 'sample_db',
'prefix' => '',
//'encoding' => 'utf8',
);
DebugKitを導入する
ここからは CakePHP 2.x - DebugKitを導入 を参考に進めてみる
参考サイトでは、ディレクトリ名がPluginsだけど、自分の環境ではPluginなので、CakePHPのバージョンによるそういう微細な違いに気をつけましょう。
- [a]まずcakephp/debug_kit · GitHubからダウンロード
- [b] 参考サイトに倣って、DebugKitフォルダを配置
- [c]参考サイトに倣って、app/Config/bootstrap.phpの一番下の行に
CakePlugin::load('DebugKit');
を追記する
ここまでやると、さっきまで黄色だった
DebugKit is not installed. It will help you inspect and debug different aspects of your application.
You can install it from GitHub
の項目が緑になる。
続けて、参考サイトの手順3と4を実施する。
手順3はapp/Controller/AppController.phpの一番下の行に追記するわけではなく、class AppControllerの中に追記するのだと思うので、
class AppController extends Controller {
}
となっているところを
class AppController extends Controller {
//DebugKitのコンポーネントを追加
var $components = array('DebugKit.Toolbar');
}
とした。
参考サイトの手順4については、app/Config/core.phpの中のConfigure::write('debug', 2);
のことだと思う。
0にするとデバッグしないモードになる。
備考1:参考サイトによると
"Sql log"パネルにSQLが表示されない場合は、どこかに以下が入り込んでいないか確認して下さい。 特にデフォルトで設置されるapp/View/Layouts/default.ctp内など。
<?php echo $this->element('sql_dump'); ?>
備考2:参考サイトによると
Parse error: syntax error, unexpected T_FUNCTION in
~app/Plugin/DebugKit/Controller/Component/ToolbarComponent.php on line 174
とのこと
この記事の最後に
赤と黄色のところは解消されたので、英語の文章をよく読んでチュートリアルを実行していくと良さそう。
上記のindex.phpで表示される内容は、
- app/view/pages/home.php
- app/view/layouts/default.ctp
の2ファイルの組み合わせで出力されるようである。
インストール手順に関してとても参考になった。
"CakePHPでHelloWorld!!"の項目については実施せずに 初心者のためのCakePHP2.0 プログラミング入門 あたりを実施していくと良さそうだな。と思っている。