下記を読む。
PHP 5.3.x から PHP 5.4.x への移行
http://php.net/manual/ja/migration54.php
PHP 5.4.x から PHP 5.5.x への移行
http://php.net/manual/ja/migration55.php
PHP 5.5.x から PHP 5.6.x への移行
http://php.net/manual/ja/migration56.php
PHP 5.6.x から PHP 7.0.x への移行
http://php.net/manual/ja/migration70.php
確認したほうが良さそうなこと
できるだけ上記リンクからの詳細見るべき、そのなかでの影響ありそうな箇所をリスト
PHP5.3 → PHP5.4
- 呼び出し時の参照渡しを非サポート
foo( &$val );
- $a が文字列時、非数値のオフセットを指定したときのisset, emptyの評価
$a='abcd';
# $a[2]=> "c"
#PHP5.3の場合
>>> $a['b']
=> "a"
>>> empty($a['b'])
=> false
>>> isset($a['b'])
=> true
#PHP5.4の場合
$a['b'] =>
PHP warning: Illegal string offset 'b' on line 1
>>> empty($a['b'])
=> true
>>> isset($a['b'])
=> false
- php.ini タイムゾーンを必ず指定
date.timezone = "Asia/Tokyo"
- short_open_tagの設定必要なしで常にshort_open_tag有効
- 継承でメソッドのオーバーライドを継承元と同じメソッド定義にする
Notice: Declaration of CsvUploadBehavior::setup() should be compatible with ModelBehavior::setup(Model $model, $config = Array)
PHP5.4 → PHP5.5
- Windows版PHPはVista以降でしか動かない
- SELF::CONSTANT と self::CONSTANTは同じ次扱い self, parent, static が、どんな場合でも大文字小文字区別しない
PHP5.5 → PHP5.6
- json_decode() がより厳格に(無効な形式のJSONは影響でる)
- cURLでのファイルアップロード非推奨 CURLFile使う
- iconv および mbstring のエンコーディング設定非推奨 代わりに default_charset
- PHP 5.6.x における OpenSSL 関連の変更
- ストリームラッパーが、SSL/TLS を使っている場合のピア証明書とホスト名の検証にデフォルトで対応 file_get_contens等でhttps://へのアクセス時にエラー出る可能性
- SSL や TLS の、特定のバージョンを指定できる
PHP 5 ChangeLog
http://php.net/ChangeLog-5.php