勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

DTIのVPS(PHP5系環境)にCakePHPを導入する方法

   2024/02/25  PHP

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

聞いたことのある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」を開き、以下の部分を書き換える。

Configure::write('Security.salt', '適当な英数字に書き換え');
Configure::write('Security.cipherSeed', '適当な数字に書き換え');

データベース設定

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

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'login' => 'MySQLのユーザー名',
    'password' => 'MySQLのパスワード',
    'database' => '使用するデータベース名',
    'prefix' => '',
    //'encoding' => 'utf8',
);

書き換えた後はファイル名を「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」を開き、文末に以下を記述しアップロードする。

CakePlugin::load('DebugKit');

尚、最初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にて同一サーバの別ディレクトリでセッションを振り分ける方法

同じサーバ内にmemberとownerの別ディレクトリがあり、それぞれにsess ...

CodeIgniter4でフォームからファイルをアップロードし保存する方法

CodeIgniter4.4.4でformから画像等のファイルをアップロードし、 ...

PHP8系で「Uncaught TypeError: count(): Argument」エラーの対応方法

PHP8系で「PHP Fatal error: Uncaught TypeErr ...

CodeIgniter3でファイルキャッシュする方法

CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...

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

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