PHP7への移行
カテゴリー: General
2016-05-21
PHP5からPHP7への移行
実行速度比較
互換性
・PHP7へは結構互換性を損なうので、PHP5.2からPHP5.3並みに互換性を損なうので注意。
今後も数年したら修正なしに今作ったスクリプト動きません。みたいなことになるでしょうから
・長期的な視点からすると大きなプロジェクトは、PHP言語ではなく言語使用があまり変化しないC++CGIのほうが延命するかも。
自社への需要を増すためと
再受注めあてにソフトメーカーと結託していませんかっていうくらい、互換性を損なう変更してくれますよね
今回は、/e 修飾子の廃止で、あちこち結構ひどいことになってますね
実行速度比較
- うちのサイト(web) 速くならない。超軽量に作っているから関係ないみたい。
- ローカルで重い処理させる、PHP7のほうが50%くらい速くなることがある
互換性
・PHP7へは結構互換性を損なうので、PHP5.2からPHP5.3並みに互換性を損なうので注意。
今後も数年したら修正なしに今作ったスクリプト動きません。みたいなことになるでしょうから
・長期的な視点からすると大きなプロジェクトは、PHP言語ではなく言語使用があまり変化しないC++CGIのほうが延命するかも。
自社への需要を増すためと
再受注めあてにソフトメーカーと結託していませんかっていうくらい、互換性を損なう変更してくれますよね
今回は、/e 修飾子の廃止で、あちこち結構ひどいことになってますね
- 変数やプロパティそしてメソッドへの間接的なアクセスを、厳密に左から右の順で評価するようになりました。 以前のバージョンでは、場合によって評価の順が逆転することもありました。
- foreach は内部の配列ポインタを変更しない
- set_magic_quotes_runtime() およびそのエイリアスである magic_quotes_runtime() が削除されました。
- ASP タグと script タグの廃止
- これまでのバージョンでは、浮動小数点数値が大きすぎて整数として表せない場合に、 float から integer に変換した結果を黙って切り詰めていました。 PHP 7 では E_WARNING が発生し、NULL を返します。
- func_get_arg() と func_get_args() が現在の引数の値を返すようになる
- preg_replace() 関数が "\e" (PREG_REPLACE_EVAL) をサポートしなくなりました。
- 削除された拡張モジュール ereg, mssql, mysql, sybase_ct
- date.timezone に関する警告の削除