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の場合
関連記事
-
radioボタンを実装
Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ
-
SQLクエリーをログに出力する
SQLのクエリーをデバッグするには、Debug Kitを使用すればできますが、デバッグログと一緒に出したいのでやり方を調査してみました。 別々のログやビューでみるのもいいですが、秒単位で実行される処
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し
-
checkボックスを実装
selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
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/