今話題の PHP 7、非推奨要素などがまるっと削除されてすっきり速くなったそうなので試してみました。実際に現在ご覧のページも執筆時点最新の PHP 7.0.0RC1 で表示されています。そんな時代もありました。
環境
phpenv でバージョン切り替えが可能な環境で実験してみます。
項目 | 名称 |
---|---|
OS | Arch Linux(Linux 4.1.6) |
Apache | 2.4.16 |
phpenv | rbenv 0.4.0-153-g3b6faa8 |
php-build | v0.11.0dev |
手順
phpenv と php-build をインストールする
php-build のビルドオプションの設定ファイルを開く
$ vim /usr/local/share/php-build/default_configure_options
次の行を追加(apxs の位置は環境依存)
--with-apxs2=/usr/bin/apxs --enable-mysqlnd --with-pdo-mysql=mysqlnd
保存してビルド
$ php-build 7.0.0RC1 ~/.phpenv/versions/7.0.0RC1
バージョンを切り替える
$ phpenv global 7.0.0RC1 $ phpenv versions system * 7.0.0RC1
httpd.conf を開いて書き換える
#LoadModule php5_module modules/libphp5.so LoadModule php7_module /usr/lib/httpd/modules/libphp7.so
httpd を再起動
所感
噂通り WordPress の動作が 2 倍程度高速になっています。メモリアクセスなどに関して内部のデータ構造が改善されたらしいですが詳しいことはよくわかりません(おい)
PHP 7のパフォーマンスが高い理由:CodeZine(コードジン)
https://codezine.jp/article/detail/8492
歴史的背景に基づく機能廃止が多めのアップデートのようですが、影響を受けるようなコードはなかったので割とすんなり移行(?)できました。以前 PHP 5.3.3 を使っていた関係でまだコードの至る所に array()
が残るような状況なので PHP 7 の機能どころか PHP 5.x の新機能も追えていない感じですが、タイプヒンティング強化や即時関数呼び出しなど、魅力が盛りだくさんのようなので製品版のリリースが楽しみです。