PHP5.6 への対応について

PHP5.6 への対応について
一般的な対応について
PHP の公式ドキュメントに、5.4 から 5.5 と 5.5 から 5.6 の互換性情報がまとめ
られています。
5.4 から 5.5:
http://php.net/manual/ja/migration55.php
5.5 から 5.6:
http://php.net/manual/ja/migration56.php
上記ページからの抜粋を以下に記述します。
5.4 から 5.5
下位互換性の無い変更点
zend_execute() がオーバーライド出来なくなった

o

かわりに zend_execute_ex() をオーバーライドする必要がある
pack(), unpack() が Perl との互換性を保つよう変更された
非推奨になった機能とその代わりの機能

ext/mysql 拡張モジュール が非推奨
o

preg_replace() の /e 修飾子が非推奨
o

かわりに MySQLi あるいは PDO_MySQL を使う
かわりに preg_replace_callback() 関数を使う
IntlDateFormatter::setTimeZoneID() と datefmt_set_timezone_id(
)が非推奨
o
か わ り に IntlDateFormatter::setTimeZone() メ ソ ッ ド
と datefmt_set_timezone() 関数を使う

mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_ofb() が非推奨
その他
動作などが一部変更された関数の情報が下記 URL に列挙されています。
http://php.net/manual/ja/migration55.changed-functions.php
5.5 から 5.6
下位互換性の無い変更点

配列リテラルを用いてクラスのプロパティに配列を設定した場合、配
列のキーが上書きされない
以前のバージョンでは、クラスのプロパティとして宣言されている配
列のなかに明示的なキーと暗黙のキーが混在している場合、 明示的
に指定したキーと暗黙の数値キーが重複すると、黙って上書きされて
いた。

5.6 では上書きされずに配列の後ろに追加される
`json_decode()` は、JSON リテラル true、false および null につ
いて、すべて小文字のものしか受け付けなくなった

ストリームラッパーが、SSL/TLS を使っている場合のピア証明書と
ホスト名の検証にデフォルトで対応した

GMP リソースがオブジェクトになった

`Mcrypt` 関数は、有効なキーと IV を要求するようになった
非推奨になった機能

非互換のコンテキストからのメソッド呼び出しが非推奨となり、
`E_STRICT `ではなく E_DEPRECATED が発生するようになった

`always_populate_raw_post_data`
`$HTTP_RAW_POST_DATA`
を
使
う
と
、
に 値 が 入 っ て い る 場 合 に
E_DEPRECATED が発生するようになった
o
新 し い コ ー ド で は 、 `$HTTP_RAW_POST_DATA` で は な く
`php://input` を使うようにする

`iconv` および `mbstring` の、エンコーディングに関するオプショ
ンが非推奨となった
o
かわりに `default_charset` を使う
その他
動作などが一部変更された関数の情報が下記 URL に列挙されています。
http://php.net/manual/ja/migration56.changed-functions.php
主な CMS の対応状況
以下の情報は各 CMS のコアに関する情報で、共通する注意事項としてプラグイ
ンについては個別に動作確認する必要があります。
WordPress
Wordpress 4.x について
少なくともコアについては修正が要らないだろうという情報が存在する
https://wordpress.org/support/topic/wordpress-and-php-56
Wordpress 3.9 について
以下に PHP5.6 でのベンチマークの情報がある
https://ckon.wordpress.com/2014/05/31/php-5-4-vs-5-6-wordpress-3-9-bench
mark/
これより、少なくともコアは動くのではないかと思われる
Drupal
公式ドキュメントの動作確認表に各バージョンへの対応状況が記述されている
https://www.drupal.org/requirements/php#drupalversions
Drupal 6 について
上記動作確認表で非対応となっているが、コアに修正を入れれば PHP5.6 で動
かせるという情報もある。
http://www.mediacurrent.com/blog/getting-your-drupal-6-site-ready-run-ph
p-56
ただし、Drupal8 のリリースとともにサポートは終了する予定
https://www.drupal.org/d6-lts-support
また、現在 Drupal8 はベータ版がでている状況。
Drupal 7 か 8 について
上記動作確認表で対応との記載あり
NetCommons
v2.4.2.1 で対応。
http://www.netcommons.org/jo0necbq9-24/#_24
システム要件:PHP5.1.6 以上
http://www.netcommons.org/特徴/動作環境/
Movable Type
未確認。v6.0.4 にて PHP5.5 に対応しているが、それ以降のリリースノートに
PHP5.6 に対応したという記述はない。
http://www.movabletype.jp/documentation/mt6/release/604.html
システム要件:v5.2 では PHP5.0 以上、v6.x では PHP5.3 以上が必須。
http://www.movabletype.jp/documentation/mt6/installation/system-option.ht
ml
http://www.movabletype.jp/documentation/mt5/installation/system.html
MODX
現在のバージョンでは PHP5.5.x 以上暫定対応という記述がある。
http://modx.jp/download/download_evo.html
フォーラムに PHP5.6.2 でも問題なく動作しているという報告がある。
http://forums.modx.com/thread/96475/modx-support-for-the-latest-php-versi
on-5-5-5-6
システム要件:5.3.0−5.4.x ネイティブ対応、PHP5.5 以上暫定対応。
http://modx.jp/download/download_evo.html
Moodle
フォーラムに PHP5.6.2 でも問題なく動作しているという報告がある。
https://moodle.org/mod/forum/discuss.php?d=275420
システム要件:v1.8 では PHP4.3 – 4.x (5.x は使用不可)、v2.0 では PHP5.2.8
またはそれ以上。
https://docs.moodle.org/2x/ja/動作環境
EC-CUBE
個人ブログに PHP5.6 で EC-CUBE を用いた開発を行っているという記述があ
る。
http://soutoku.hatenablog.com/entry/2015/01/26/131751
システム要件:v2.13 では PHP5.2 以降が必須。v3.0 系では PHP5.39 以降必須、
PHP5.4.39 で動作確認済み。
https://www.ec-cube.net/product/system.php
Pukiwiki
最新安定版の v1.5.0 で PHP5.4 と 5.5 に公式対応している。5.6 でも一応動作
しているという報告がコメント欄にある。
http://pukiwiki.osdn.jp/?Comment/PukiWiki/Download/1.5.0
Dokuwiki
全体の内 7%のユーザが Dokuwiki を PHP5.6 で動かしているという統計データ
があるため動作すると思われる。
https://www.dokuwiki.org/ja:popularity
システム要件:PHP5.2 以降
https://www.dokuwiki.org/requirements
Smarty
PHP5.6 については特に何も書かれていないが、Changelog に PHP5.5 で
deprecated になった preg_replace()の /e オプションを修正したという記述が
2年前の時点で存在するので、少なくとも PHP5.5 については一応確認済みで
あるように思う。またすでに PHP7 に向けた更新に取り掛かっていることから
も PHP5.6 で特に問題なく動いているのではないかと思う。
https://github.com/smarty-php/smarty/blob/master/change_log.txt
https://github.com/smarty-php/smarty/blob/master/change_log.txt#L530
システム要件:PHP5.2 以降
http://www.smarty.net/download
OpenPNE
未確認。最新リリースは 2015 年 6 月。2015 年 9 月に次のリリースを予定して
いる。
システム要件:PHP5.2.3 以降
http://www.openpne.jp/install/
PHP5.6 への対応状況は不明。
gpEasy CMS
公式サイトの更新が止まっている?
システム要件に PHP4.3 以降と PHP5.2 以降という矛盾した記述がある
http://gpeasy.com/Download
http://gpeasy.com/Docs/Installation
PHP5.6 への対応状況も不明。