忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/03/27 19:47 |
その他0-2:WindowsにCakePHPをインストール

前回のXAMPPその他が導入されていることが前提。

今回使用したソフトのバージョン
CakePHP 1.2.0.7296 RC2


今回はPHPで有力なフレームワークのひとつであるところのCakePHPをインストールしてみる。

フレームワークとは何かというと、簡単に言うと簡単にブログを作成できるソフトである。
具体的にはMVCが云々とかO/Rマッパーがどうたらとかいう話になるのだが、そういうことはあまり気にしない。
一口にフレームワークといってもZend公式のZend Frameworkや純和製のEthna等多種あるのだが、その中でもCakePHPは導入までのコストが最も低いといわれている。
とはいえ幾つか躓くところがあるので試してみた。


まずPHP自体の設定を行う。
初期設定では困る部分があるので、php.iniを編集する必要があるのだが、XAMPPのphp.iniはC:\xampp\php\php5.iniでもC:\xampp\php\php4\php.iniでもない。
C:\xampp\apache\bin\php.iniである。
では前者は何のためにあるかというと、XAMPP付属のPHPSwitchを使用してPHP4とPHP5を入れ替えた際にC:\xampp\apache\bin\php.iniに上書きされるのだ。
従ってC:\xampp\apache\bin\php.iniを編集後、C:\xampp\php\php5.iniに上書きする。
ちなみにC:\xampp\php\php.iniはダミーだ。騙されるな。

該当部分を以下のように編集。

magic_quotes_gpc = Off
short_open_tag = Off
error_reporting  = E_ALL
display_errors = On
session.use_only_cookies = 1
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = Off
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.substitute_character = none
mbstring.detect_order = EUC-JP,UTF-8,SJIS,JIS


CakePHPをダウンロード。
http://cakephp.org/
インストールはhtdocs以下に解凍するだけ。
今回はC:\xampp\htdocs\src\php\fw\cakeに保存した。
MTをインストールした際ディレクトリを適当に選んだせいでディレクトリ構成が美しくないことになっているが、まあ気にしない。

早速ブラウザからアクセス。
http://localhost/src/php/fw/cake/
「Your database configuration file is not present.」
「CAKEPHP_ROOT/app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 263] Your tmp directory is NOT writable.」


以上のような2つのエラーが表示された。

まず前者はDBにアクセスできないということなので、その設定を行う。
C:\xampp\htdocs\src\php\fw\cake\app\config\database.php.defaultをdatabase.phpにコピー、そしての一番下を変更。

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'connect' => 'mysql_pconnect',
    'host' => 'localhost',
    'login' => 'login',
    'password' => 'pass',
    'database' => 'cakephp',
    'prefix' => '',
    'schema' => 'public',
    'encoding' => 'utf8'
);

ついでにXAMPPのPhpMyAdminからデータベース「cakephp」を作成しておく。

後者は、セキュリティ通信使用時の暗号化キーを設定せよという意味である。
C:\xampp\htdocs\src\php\fw\cake\app\config\core.phpの150行目付近、
Configure::write('Security.salt', '***************************************');

となっている部分のキーを適当に変更する。
わかりやすい内容にしてしまうと簡単に解読されてしまうので注意。
適当にランダム文字列を作成した。

再度ブラウザからアクセスすると、無事にエラーメッセージが消えた。
Linuxの場合は一部ディレクトリのパーミッション設定が必要になるはずだが、今回はWindows環境なのでその必要はないようだ。

しかしスタイルシートやイメージが読み取れていない。
ソースを覗くと
<img src="/src/php/fw/cake/img/cake.power.gif">となっていた。
しかし実際にファイルが存在する場所はC:\xampp\htdocs\src\php\fw\cake\app\webroot\img\cake.power.gifである。
.htaccessでこのずれを修正するので、httpd.confで.htsccessによる操作を許可する。
C:\xampp\apache\conf\httpd.confの該当行を修正。
LoadModule rewrite_module modules/mod_rewrite.so
AllowOverride All

ブラウザからアクセスすると、ようやくスタイルが適用されて見えるようになった。
本来なら.htaccessによる制御を書かねばならないのだが、CakePHPでは最初から書いてあるので何もせずとも問題はない。

今回はあっさり成功してしまった。

PR


2008/07/09 14:59 | Comments(0) | TrackBack(0) | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<その他0-3:CakePHPでなんか作ってみる | HOME | その他0-1:WindowsにMTをインストール>>
忍者ブログ[PR]