PHP5.5にあげたせいでCakePHPでエラーがでてしまった

先日Macのローカル環境をPHP5.5にあげたのですが、ローカルでエラーがでてしまいました(☝ ՞ਊ ՞)

E_STRICTエラーがでてしまう

E_STRICTエラーが大量出現してしまいました。

Strict (2048): Declaration of HugahugaTag::find() should be compatible with Model::find($type = ‘first’, $query = Array) [APP/Model/HugahugaTag.php, line 86]

何やらPHP5.4からerror_reportingが変わったとかなんとかです。
http://php.net/manual/ja/migration54.other.php

Config/core.phpのConfigure::writeを書き換えるのは本質的じゃないですよね。。

Configure::write(‘debug’, 0);

debugレベルを2から0にしてお茶を濁しました(☝ ՞ਊ ՞)

でもこれだとなんかおかしい気がします。
CakePHP2.xとPHP5.4でStrict Errorが出た場合の対処法

によると、Config/core.phpの指定を

Configure::write(‘Error’, array(
‘handler’ => ‘ErrorHandler::handleError’,
‘level’ => E_ALL & ~E_DEPRECATED & ~E_STRICT,
‘trace’ => true
));

コチラに書き換えればいいようです。

お陰様でエラーが出なくなりました(☝ ՞ਊ ՞)☝

ログみていたらPHPのnumber_format()でエラーがでていた

エラーがでていました(☝ ՞ਊ ՞)☝

Warning: Warning (2): number_format() expects parameter 1 to be double, array given in [/var/www/html/app/View/Helper/ChartHelper.php, line 191]

ぐぐってみると
http://www.konnect-kollect.info/php-number_format-xml-error.html

number_format()の第一引数を数値型でキャストするらしいです(☝ ՞ਊ ՞)☝

number_format((int)$hoge)

たいにするとか

これで多分エラーでなくなるはず(☝ ՞ਊ ՞)☝

CakePHPを入れた時にでるDebugKitのエラーを消すには

CakePHP2.?バージョンからCakePHPをインストールしようとするとDebugKitがないというエラーがでます。

表示されるエラー

DebugKit is not installed. It will help you inspect and debug different aspects of your application.
You can install it from github

CakePHP-DebugKit-error

これはやり方が分からなかったのですが、以下のサイトを参考にしたら解決しました。

cakephp2.0にDebugKitを入れてみる
http://sd.pot.co.jp/2012/02/01/cakephp2-0%E3%81%ABdebugkit%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%82%8B

手順は参考サイトのとおりです。

1.DebugKitのファイルをダウンロードかgit cloneする。
2.app/Pluginにフォルダを配置してDebugKitにリネームする。
3.app/Config/bootstrap.phpにCakePlugin::load(‘DebugKit’)を指定する。
CakePlugin::load('DebugKit');
上記のように記述します。

エラーが消えて無事に表示されました。
CakePHP2.3.1.default.view

app/Controller/AppController.phpにDebugKit.Toolbarを指定する手順が参考サイトに書いてありましたが、エラーを消すだけなら以下のようにコンポーネントを指定しなくても問題ないようです。
public $components = array('DebugKit.Toolbar');

おしまい(☝ ՞ਊ ՞)☝

CakePHPのインストールでエラーを消していく

CakePHP2.3-RCを試してみました。
ファイルを展開してDatabaseを作ってウェブサーバーの設定をしました。
CakePHPではお決まりの設定でtmpディレクトリのパーミッションを777にしておきました。

ブラウザからアクセスしました。

Cakephp error

あるえー(☝ ՞ਊ ՞)☝ なんかエラーがでた

Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Tokyo’ for ‘JST/9.0/no DST’ instead in /Library/WebServer/Documents/dev.chocospot.com/cakephp2.3-RC2_apppark/lib/Cake/Cache/CacheEngine.php on line 59 Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Tokyo’ for ‘JST/9.0/no DST’ instead in /Library/WebServer/Documents/dev.chocospot.com/cakephp2.3-RC2_apppark/lib/Cake/Cache/CacheEngine.php on line 59

これはあれか、Config/core.phpのタイムゾーンを変更しろということか

date_default_timezone_set(‘Asia/Tokyo’);

date_default_timezone_setがコメントになっているのでそこを外してAsia/Tokyoを入れてみました。

エラーが消えました。次はSecurity Saltを変更します
CakePHP error security salt

Config/core.phpのSecurity.saltとSecurity.cipherSeedの文字列を少し1足したりしてかえてみた。
CakePHP のエラーが消えた

とりあえずここまで開発してみよう(☝ ՞ਊ ՞)☝

ふぁぼが加速するぷぎったーの体験ツイート

先日からふぁぼが加速するぷぎったーをアルファスタートしてちょこちょこ機能追加しています。

このペースでふぁぼってるとリスト取得でAPI一気に使い切りそうだな
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

ぷぎさんのふぁぼ速度早すぎわろた
@rearururu
れry@じょしらくなう@まりいさん可愛い

@ ファボ用にサイト作ったからね!
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

@ もしかして晒される?ガクブル
@rearururu
れry@じょしらくなう@まりいさん可愛い

@ このサイトを使うと早いって言われます。こちらのツイートを御覧ください!みたいなところまで妄想した
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

@ なんで拙者を選んだ!
@rearururu
れry@じょしらくなう@まりいさん可愛い

@ やだなーボクとれあるさんの仲ぢゃナイデスカ
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

きょうはちょっとしかふぁぼできなくてごめんよ
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

@ ちょっとってレベルじゃねーぞ!!
@rearururu
れry@じょしらくなう@まりいさん可愛い

@ とりあえず最低一日100ファボのラインは守って行きたいとおもいます><
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

@ すごすぎわろたwwww
@rearururu
れry@じょしらくなう@まりいさん可愛い

@ ぷぎったーを使えば1日100ふぁぼも余裕です(ステマ)http://t.co/KMWXJ91N
@pugiemonn
pugiemonn ぷぎえもん 自宅警備

ぷぎったーをつかえば100ふぁぼは余裕しかし、つぎにぷぎえもんを待っていたのはふぁぼ規制だった。
次回へ続く

次の記事:
twitterのお気に入り、ふぁぼは一日1000回で規制され、規制後24時間で解除される

CakePHPを使っていてredirectsのエラーが出たので.htaccessを確認をした

先日、ぷぎったーを設置したらCakePHPのページが表示されないなどのトラブルがありました。

Apacheのエラーログを確認すると

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace.

リダイレクトで問題がありそうなエラーが出ています。

あるいはCakePHPには

Error: [MissingControllerException] Controller class JsController could not be found.

のようなエラーが出ていました。jsやcssを読み込めていないみたいです。

適当にぐぐったら、CakePHPの.htaccessの設定をマニュアル通りになっているか確認しろとありました。

マニュアル通りだと以下のようになっています。
./.htaccess

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

./app/.htaccess

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

./app/webroot/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

なんということでしょう

.htaccessに余計な設定が書いてありました。

マニュアルのとおりに直したらちゃんとjsもcssも読み込まれるようになってちゃんと動きました(^o^)

WebデザイナーのためのCakePHPビューコーディング入門
WebデザイナーのためのCakePHPビューコーディング入門 滝下 真玄 原 一浩

秀和システム 2012-03-28
売り上げランキング : 15727

Amazonで詳しく見る by G-Tools

CakePHPで定数を定義したい

cakephpで定数定義
CakePHPで定数を定義したいけどやりかたがわかりませんでした。
自分のソースをさかのぼってみたらbootstrap.phpに書くみたいです。

appをルートとして/Config/bootstrap.phpを編集します。

define("AAA", "BBB");

このまま書いたら使えました。

おまけですが、ソースをみたらbootstrap.phpにconfig()という記述がありました。

config('const');

このように書くと/Config/const.phpを読みに行くみたいです。ソースではconst.phpの中でdefine()を書いて定数を定義していました。

なんでこうしたのかよく覚えてませんけどbootstrap.phpにかけるならそのまま書いてよさそうですね。

WebデザイナーのためのCakePHPビューコーディング入門
WebデザイナーのためのCakePHPビューコーディング入門 滝下 真玄 原 一浩

秀和システム 2012-03-28
売り上げランキング : 67342

Amazonで詳しく見る by G-Tools