現在開発中のCakePHP2とかcake3がどんなものか気になって、とりあえず試しに動かしてみることにしました。
ところが、cake3の方は今のテスト鯖のPHP 5.2.6環境だと「namespace cake;」のところでエラーが出てしまって動きません。
PHPの名前空間のサポートは5.3~のようです。
そこで先月末にリリースされたばかりのPHP 5.3に早速アップデート。
…すると、既存のCakePHP 1.2環境がひどいことに。
こんな感じのエラーが大量発生です。
これを出さなくするには、cake/libs/configure.phpの290行目あたりにこんな感じに3行ほど追加してやればいいそうです。
if (isset($config['debug'])) {
if ($_this->debug) {
error_reporting(E_ALL);
//この下のif文を追加する
if (error_reporting() > 6143) {
error_reporting(E_ALL & ~E_DEPRECATED);
}
しかし、これでもまだエラーが完全に消えたわけではありません。
そこで、PHP 5.3からはE_DEPRECATEDというエラー定数?ができたらしいので、php.iniを以下のように変更
error_reporting = E_ALL & ~E_NOTICE ↓ error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
とりあえずE_DEPRECATEDを無視してやればよさそうなので一時しのぎ。
E_DEPRECATED
実行時の注意。これを有効にすると、 将来のバージョンで動作しなくなるコードについての警告を受け取ることができる。
本当は出すようにした方がいいと思うけど当分はこれで放置。
参考記事: floatingdays - PHP5.3だと CakePHPで Deprecatedエラーが出まくる問題の対処方法
一六社で働く高卒ITエンジニアのブログ。
普段は開発と地元のPCサポートをやってです。CakePHP暦1年半なまだまだ未熟なプログラマ。 技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。
CakePHP日本語化はこちら
![]() |
kuma_tvrockにてTvRockのテレビ録画情報垂れ流しテスト中 |
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| << < | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||