Comments
Description
Transcript
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 への対応状況も不明。