XAMPP(ザンプ)でPHPのJITコンパイラを有効化する方法。

XAMPP-JIT有効化_eyecatch

XAMPP(ザンプ)でPHP8より実装されているJITを有効化する方法です。

XAMPPでもJITが使えるのですが、デフォルトの状態だとJITはおろか、OPcacheすらもオフになっているので、使いたい時はphp.iniを編集する必要があります。

この度XAMPPでJITを有効化してみたので手順を備忘録がてら記事にします。

手順は初心者の方にも分かりやすいように画像付きで解説していきます。

XAMPPでPHP JITを有効化する方法

事の発端はローカル環境でJITのベンチマークを測定しようと思ったことです。

その時にPHP8をインストールしたXAMPPを使ったのですが、肝心のJITコンパイラがオンになっておらず、すぐにベンチマークを試せないことが判明しました。

XAMPP-JIT有効化_001

phpinfoで確認するもJITの項目は見当たらず...

念のためphpinfoでJITの動作状況を確認するもJITの項目すら出てきません。
XAMPPのデフォルトの設定では、JITはおろかOPcacheすらオフなんですねぇ~。

というわけで、この度XAMPPでZend OPcacheとJITを有効化してみました。
では早速有効化手順に参りましょう・w・

XAMPPのphp.iniを編集してJITを有効化する

XAMPPでZend OPcacheとJITを有効化するのは簡単で、php.iniに有効化するためのコードを追記するだけでOKです。(JITを使うにはPHPバージョン8以上が必須)

まずXAMPPのコントロールパネルを起動します。

XAMPP-JIT有効化_002

Apacheの「Config」→「PHP(php.ini)」を開く

続いて、Apacheの「Config」ボタンをクリックし、メニューから「PHP(php.ini)」を開きましょう。(Apacheの起動状態はオンでもオフでもOK)

php.iniにコードを書き込んで保存する

XAMPPのphp.iniが開けたら、以下のコードを最終行に追記して保存すればOKです。

[opcache]
zend_extension=opcache
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.jit_buffer_size = 128M

これでXAMPPでOPcacheおよびJITを有効化することができます。
コードについては調べれば出るので割愛しますが、この設定値はXAMPPのデフォルトのものなので特に問題が無ければ変更する必要はありません。

また、上のコードはphp.ini内に元から存在しており、コメントアウトで無効化されている状態なのですが、いちいちコメントアウトを外すよりも、最終行にコードを追記する方が簡単で楽かと思います。

XAMPP-JIT有効化_003

php.iniの最終行にコードを追記

Windowsの場合はメモ帳でphp.iniが開くと思うので、こんな感じに追記したらphp.iniを保存して閉じましょう。

スポンサーリンク

Apacheを再起動してJITの動作確認を行う

php.iniを編集したら、設定を反映させるためにApacheを再起動します。
再起動するにはXAMPPのコントロールパネルで「Stop」と「Start」を押せばOK!

これでZend OPcacheとJITが有効になっているはずですが、一応確認します。

XAMPP-JIT有効化_004

XAMPPのコントロールパネルから「Shell」を開く

XAMPPのコントロールパネルでApacheをStartさせてから、Shellをクリック。
Shellが起動したら以下のコマンドを入力してみます。

php -v

このコマンドを入力して“with Zend OPcache”の文字が出ればZend OPcacheが有効になっています。

# php -v
PHP 8.2.4 (cli) (built: Mar 14 2023 17:54:25) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.4, Copyright (c) Zend Technologies
with Zend OPcache v8.2.4, Copyright (c), by Zend Technologies

OKですね!続いてphpinfoを使ってJITがオンになっているかも確認します。

関連記事

phpinfoの作り方についてはコチラ↓
phpinfoを作成して確認するまでの手順を詳しく解説。

phpinfoを開いたら、Zend OPcacheの項目を確認します。

XAMPP-JIT有効化_007

JITの項目が「On」になっていればOK!

JITという項目を確認して「On」になっていればJITが有効になっています。
もしもここが「Disable」だとJITがオフの状態なので再確認しましょう。

XAMPP-JIT有効化_008

opcache.jit_buffer_sizeが0だとJITは機能しないので注意

もう1点。少し下に「opcache.jit_buffer_size」という項目があるので、ここが0になっていないか確認します。先ほどphp.iniで設定した128MBなのでOK!!

ポイント

opcache.jit_buffer_sizeが0だと実質JITが機能しない=オフ状態になります。

ここまで確認できればXAMPPでJITが使える状態になっています。
お疲れさまでした!あとはJITを楽しみましょう・w・

JITのベンチマーク

ここからおまけ。
XAMPPでJITが使えるようになったのでその速さを実感してみましょう!

ベンチマークの測定には定番の「マンデルブロ集合」の計算(↓)を使用します。

外部リンク

【JITベンチマーク測定のサンプルコード】
Mabdelbrot.java · GitHub

【参考】
PHP: rfc:jit

この計算をXAMPPでローカル環境に構築したサーバーで回した結果が以下です。

JIT有効化時と無効化時のベンチマーク
JITオフJITオン
1回目0.8861270.099668
3回目0.8867900.083245
3回目0.8882580.081356
4回目0.8860360.082425
5回目0.8908940.083457

ローカル環境なのでPCスペックにもよりますが、JITの速さは一目瞭然。
PHP8、OPcacheオン、JITオンだとオフの時に比べて処理速度が1桁変わりました。
はっやっー!!キャッシュを使いまわすとはいえ速すぎ...。

XAMPP-JIT有効化_009

これがやりたかったので今回XAMPPでOPcacheとJITを有効にした次第でした。
満足しました・w・



まとめ

以上、XAMPP(ザンプ)でPHPのOPcacheおよびJITコンパイラを有効化する方法でした。オンにするのは簡単でphp.iniに例のコードを書き込むだけでOKです。

JITを使って何かをテストしたい時などのお役に立てれば幸いです。
ではではこのへんで・w・

-ソフト_サービス
-,

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku