PHPスクリプト/PHP 5.3.0でエラー

PHP 5.3.0でエラー

http://www.php.net/manual/ja/migration53.deprecated.php

PHPのバージョンを5.3.0にしたらDeprecatedエラーがいっぱいでた。

Deprecated: Function ereg() is deprecated in /hoge/hoge

Deprecated: Function ereg_replace() is deprecated in /hoge/hoge

実行時の注意。これを有効にすると、 将来のバージョンで動作しなくなるコードについての警告を受け取ることができるらしい。

E_DEPRECATED (integer) 

eregやらereg_replaceなんかはこの先使えなくなるらしい。

mb_eregとかpregなんかに変更する必要が出てくるみたい。

split のかわりに preg_split とか explode とかにしないといけない。 (^^)

とりあえずの対策としてエラーメッセージを消す。

error_reporting(E_ERROR & ~E_NOTICE & ~E_PARSE);

PHP Notice: Undefined index:

これを消したい場合、@でエラーを出さいないようにできる。

  • 応急処置
    if($_POST['AAA']){
       ↓
    if(@$_POST['AAA']{

date関数でエラー

date関数を使うとこんなエラーが・・・ (^^;

Warning: date() [function.date]: 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 /hoge/hoge.php on line

どうもPHP 5.1.0 からdate.timezoneを設定していないと、エラーが出ちゃうらしい

対処

# vi php.ini
date.timezone = Asia/Tokyo

phpファイルに書く場合

date_default_timezone_set('Asia/Tokyo');