PHP版本升级备忘录
请阅读以下内容。
PHP 5.3.x 到 PHP 5.4.x 的迁移
http://php.net/manual/zh/migration54.php
从PHP 5.4.x到PHP 5.5.x的迁移
PHP 5.5.x 到 PHP 5.6.x 的迁移
http://php.net/manual/zh/migration56.php
从 PHP 5.6.x 迁移到 PHP 7.0.x
http://php.net/manual/zh/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的变更日志
http://php.net/zh/ChangeLog-5.php