LoginSignup
6
3

More than 5 years have passed since last update.

PHPバージョンアップメモ

Last updated at Posted at 2017-10-12

下記を読む。

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

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3