勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

DTIのVPSにCakePHPを導入する方法

      2015/11/22

他社さんと連携して仕事をする際に「フレームワーク何か使いますか?」と聞かれて「使ったことないんです……」と答えていてけっこう恥ずかしかったので、フレームワークを勉強しようと思った。

聞いたことのあるCakePHPと、聞いたことはないけど軽量で学習コストが低いらしいCodeIgniterが候補。まずはCakePHPをVPSにインストールしてみたのでその際のメモ。

 

■公式サイト

http://cakephp.jp/

 

■必要ファイル

http://github.com/cakephp/cakephp/archive/2.3.10.zip

https://github.com/cakephp/debug_kit/tree/2.2

 

■環境

CentOS6.5

PHP5.3

MySQL5.1

 

■導入方法

CakePHPのzipファイルを任意のディレクトリにアップロードしてコマンドラインでunzipで解凍する。解凍後はzipファイルを削除して良い。また、rootとかで解凍した場合はchownコマンドでユーザーを切り替えておく。尚、ここではディレクトリを「/var/www/html/hoge.com/cake/」と想定する。

また、キャッシュ関連の書き込みでディレクトリのパーミッションを変更する必要がある。「/var/www/html/hoge.com/cake/app/tmp」以下を777に変更しておく。

 

この時点で「http://hoge.com/cake/」を叩くと赤緑黄のエラー表示みたいなのがいくつが表示される。まず「/var/www/html/hoge.com/cake/app/Config/core.php」を開き、以下の部分を書き換える。

 

次に「/var/www/html/hoge.com/cake/app/Config/database.php.default」をダウンロードし文末あたりにある以下の部分を書き換える。

書き換えた後はファイル名を「database.php」に変更して同じディレクトリにアップロードする。

 

必要ファイルに書いた後者のDebugKitを「/var/www/html/hoge.com/cake/plugins/」にアップロードしunzipで解凍する。解凍したフォルダ名を「DebugKit」に変更しておく。「/var/www/html/hoge.com/cake/plugins/DebugKit/」直下にVERSION.txtが来るような形になっていればOK。

次に「/var/www/html/hoge.com/cake/app/Config/bootstrap.php」を開き、文末に以下を記述しアップロードする。

尚、最初DebugKitの最新版をダウンロードして設置したところエラーが発生していた。調べてみると最新のDebugKitはCakePHPの3系に使うみたいで、CakePHP2系を使うのであればDebugKitも2系を使う必要があるとの事。

再度「http://hoge.com/cake/」を開いて赤と黄の表示がなくなっていれば導入完了。

 

■その他

ドットインストールさんのCakePHP入門を参考に使ってみたところ、作業効率が上がるのはよく分かった。記述量がすごい減る。バリデート付きのformとか作る際に今までだとHTMLでform組んでjQueryでチェックする部分書いてと面倒だったのが、かなり短く書けて衝撃を受けた。

ただ覚えることが結構多そうなのと、MVCに慣れるまで時間がかかりそう。CodeIgniterも導入して触ってみて、いけそうな方で色々作ってみようと思う。

 

■参考サイト

http://kwski.net/cakephp-2-x/1009/

http://offsidenow.phpapps.jp/archives/1192

 - PHP

  関連記事

CodeIgniterで共通の変数と定数を設定する

CodeIgniterで共通する配列が入った変数と、定数を設定したかった。以下に ...

フォーム用テンプレPHP

<?php ini_set( 'display_errors', 0 ); ...

PHPで他サーバにファイルをアップロードする2

formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...

PHPでフォームとかの数値チェック

フォームとかで届いた値が整数値で0以上かどうか 調べる際に、なるほど、と思ったソ ...

incファイルとかtplファイルとか

初めて見るサーバーのファイルを見ていると incファイルとかtplファイルとか見 ...

MySQLiでSELECT文

MySQLiでSELECT文 ■データ +--+------+ | id | p ...

mb_convert_variablesとmb_convert_encodingの違い

両関数の違いについて、引数の場所というか順番が違うだけ? と思ってたけどどうにも ...

XHTMLをPHPファイルで取り扱う際の注意点

デザイナーさんからガラケーサイト用に渡されたHTMLファイルが XHTMLで書か ...

PHPからMySQLにシリアライズしたデータを格納

アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...

setcookieで「Cannot modify」エラー

PHPでsetcookieを使うと「Warning: Cannot modify ...