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の場合
関連記事
-
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
アップロードファイルのバリデーションルール
CakePHP 2.2や2.3になってファイルアップロードに対するルールがコアバリデーションに追加されているようで、まとめてみました。 コアバリデーション 関連しそうなルールは以下の4つの
-
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ



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/