WindowsのWeb環境構築 - 5.CakePHPインストール
やっとこさCakePHPのインストール。
CakePHPでPHP5.3はだめぽいようなことが書かれているが、
すでにPHP5.3で動かしている人がいるようです。
きちんと動くという前提でセットアップします。。。
俺のディレクトリ構成↓
Apache2.2
├cakecore
│ └cake
│ ├config
│ ├console
│ ├libs
│ └tests
├cakephp
│ └portal
│ ├config
│ ├controllers
│ ├libs
│ ├locale
│ ├models
│ ├plugins
│ ├tests
│ ├tmp
│ ├vendors
│ └views
└htdocs
└portal
├css
├files
├img
└js
.htaccess
css.php
favicon.ico
index.php
test.php
俺はhtdocsに丸ごと置くやり方はやめて、webrootの中身だけ置くようにした。
公開フォルダはhtdocsだからこっちのほうが直接アクセスできないし。。。
まず、htdocsと同じ並びにcakephpフォルダとcakecoreフォルダを作る。
CakePHPを解凍して、出てきたappのフォルダをcakephpのフォルダに置く。
おれはportalというページ名にしたいからappからportalに変更。
それで、今置いたportalにある.htaccessとindex.phpはなくても動かせたから削除した。
次はcakeフォルダ。cakecoreのフォルダに置く。
最後にapp(さっきリネームしたportalフォルダのこと。)の中にあるwebrootフォルダをhtdocsの下に置き、portalに変更する。
構成はこれで終わり。最後は設定です。。。躓くかも。。。
設定は3つのファイルです。
・httpd.conf(apache/confの下のファイル)
・index.php(htcocs/portalの下のファイル)
・.htaccess(htcocs/portalの下のファイル)
まず、apacheの設定でmod_rewriteを有効にします。↓
赤枠の所、コメント外してください。
AlloxOverrideの設定。↓
赤枠の所、Directory "C:/Apache2.2/htdocs"と書いている中。NoneからAllに変更する。
DirectoryIndexの設定。↓
index.phpを追加する。
htpd.confの設定は終わり。
次はindex.php
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
if (!defined('ROOT')) {
define('ROOT', 'C:'. DS . 'Apache2.2' . DS .'cakephp');
}
if (!defined('APP_DIR')) {
define('APP_DIR', 'portal');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', 'C:'. DS . 'Apache2.2' . DS .'cakecore');
}
これでindex.phpは終わり。
最後に.htaccessファイル。
<IfModule mod_rewrite.c>←全角になってるよ。
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /portal
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>←全角になってるよ。
これで完了
http://localhost/portal/にアクセスしてcakephpのデフォルト画面が表示される。が!
エラーがたくさん出る。。。Warning (2): strtotime()~
これがphp5.3で引っかかる部分です。
cakephp/portal/config/core.phpをエディタで開く。248行目くらいです。
//date_default_timezone_set('UTC');を
date_default_timezone_set('Asia/Tokyo');に変更
もう一度アクセス。これだけでエラーが消えました。これで大丈夫かはわかりません。。。


