勉強したことのメモ

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

  関連記事

PHPでCSVファイルを作って開くと「SYLKファイルが云々」のアラートが出た

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...

CodeigniterでCSSやJSファイルを読み込む

CodeigniterでCSSやJSファイルを読み込みたかった。また、それをヘッ ...

preg_matchについて

PHPでのpreg_matchについて教わることがあったのでメモ。 ■参考サイト ...

PHPでステータスコードを取得する方法

サーバーの死活監視でUptimeRobotを使っていたけど、どうも正常に監視して ...

エラー管理まとめ

■エラーログをとる。 error_reporting(E_ALL ^ E_NOT ...

$_SERVER['PHP_SELF']に脆弱性あり

formのaction属性とかページングのリンクとかで、 <form ac ...

MySQLでのバッククオート

phpmyadminを使っていると←みたいな括りを見るけど これなんなん? と思 ...

Shift_JISでカタカナのソを出力するとエラー

先に結論として5C問題とかいうみたいで仕様らしい。 ■参考サイト http:// ...

MySQLiでUPDATE文

MySQLiでUPDATE文 ■ソース $mysqli = new mysqli ...

PHPでアクセスIPからランダム英数字のIDを作成

PHPで掲示板などにあるようなアクセスIPからランダム英数字のIDを作成したかっ ...