CakePHP インストール時エラーの対処

CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。
Timezone未設定によるエラー
タイムゾーン未設定によるエラーです。
app/Config/core.php内の以下のコメントをはずして、UTCをサポートされるタイムゾーンのリストにあるタイムゾーンを設定
//date_default_timezone_set('UTC'); ↓ date_default_timezone_set( 'Asia/Tokyo');
その他、以下のページに記載されている設定で上記エラーを回避することが可能です。
date_default_timezone_get
キャッシュファイル書き込みエラー
Warning: *******/app/tmp/cache/persistent/ is not writable in *******/lib/Cake/Cache/Engine/FileEngine.php on line 385 Fatal error: Uncaught exception 'CacheException' with message 'Cache engine "_cake_core_" is not properly configured. Ensure required extensions are installed, and credentials/permissions are correct' in *******/lib/Cake/Cache/Cache.php:186 Stack trace: #0 *******/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('_cake_core_') #1 *******/app/Config/core.php(374): Cache::config('_cake_core_', Array) #2 *******/lib/Cake/Core/Configure.php(72): include('/var/www/html/c...') #3 *******/lib/Cake/bootstrap.php(175): Configure::bootstrap(true) #4 *******/app/webroot/index.php(104): include('/var/www/html/c...') #5 *******/index.php(41): require('/var/www/html/c...') #6 {main} thrown in *******/lib/Cake/Cache/Cache.php on line 186
Apache実行ユーザに対して、ログファイルやキャッシュディレクトリに対しての書き込み権限が無い場合に発生します。
Apache実行ユーザの確認方法
ps aux | grep '(apache|httpd)'
httpd.conf内User/Groupで確認することもできます。
User apache Group apache
tmpディレクトリの所有者を再帰的にapacheユーザへ変更し、パーミッション755を付与
# chown -R apache tmp # chmod -R 755 tmp
ログやキャッシュの出力先はこちらを
パス定数と変更方法やURLの取得
mod_rewrite エラー
公開ディレクトリに対して、.htaccessを使用可能になるよう設定します。/var/www/htmlは適宜置き換えて下さい。
/etc/httpd/conf/httpd.conf <Directory "/var/www/html"> # AllowOverride None AllowOverride All </Directory>
'PDO' not found
何かしらの理由でPHPインストール時にphp-pdoがインストールされていない場合に発生するエラーです。
まずは、以下のコマンドで"PDO"がインストールされているか確認して下さい。
> php -m [PHP Modules] PDO <--
インストール
yum install php-pdo
最終的な目標は、以下を .iniファイルに追加することですが、iniファイルはインストール時に自動で追加されます。
extension=pdo.so
確認してみましょう。
# php --ini Configuration File (php.ini) Path: /etc Loaded Configuration File: /etc/php.ini Scan for additional .ini files in: /etc/php.d Additional .ini files parsed: /etc/php.d/pdo.ini,
確認ができたらWebサーバに読み込ませるため再起動を行いましょう。
ついでに使用するDB
# yum install php-mysql # MySQLの場合 # yum install php-pgsql # PostgreSQLの場合
関連記事
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
radioボタンを実装
Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
-
ログローテーション
CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
FullCalendarを使用してカレンダーアプリケーション
カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
Comment
インストール後、初期画面が出ずにエラーが出た時に読む
NowBrowsing: CakePHP 2.x - CakePHP インストール時エラーの対処 - http://t.co/KFOAQklf7l
参考:CakePHP 2.x - CakePHP インストール時エラーの対処
3.インストール時のエラーの対処あれこれ
CakePHP インストール時エラーの対処
タイムゾーンの設定がないよ−って。
こことか、ここ参考。
http://www.iwaking.com/20121210/740/
http://kwski.net/cakephp-2-x/1009/