XserverでPHP8から実装されているJITコンパイラを有効化する方法です。
JIT(Just-In-TimeCompiler)はPHP8の目玉機能とも言え、有効化することでPHPの処理がより高速になるとされています。
XserverのサーバーではJITを利用することができますが、デフォルトの状態ではオフになっているので、当記事でJITを有効化する方法を詳しく解説します。
Xserverの場合、最低プランの共有サーバーでもJITの利用が可能です!
この記事の目次
XserverでJITを有効化する方法
はじめに...JITについて色々書くとややこしくなるので、この記事ではJITコンパイラの詳しい内容については書きません。当記事をご覧の方は既にご存じでしょう。
最低限の説明を書いておくとすれば、JITはPHP7には実装されず、PHP8で晴れて実装されたPHPを更に高速化できる仕組みの1つです。XserverではこのJITが使えます。
JITについて、Xserverの公式マニュアルには以下のような説明があります。
JITについて
PHP8.0より追加された「OPcache」の拡張機能です。
サーバーで利用しているCPUが理解しやすい状態でキャッシュをしておき、
次回以降、同じPHPにアクセスがあった際にキャッシュを利用することで、
PHP実行時のCPU負荷の軽減やPHPの大幅な高速化を図るPHPの拡張モジュールです。エックスサーバーでは提供中の全てのサーバーで「JIT」は標準で無効になっております。
有効化する場合は、「php.ini直接編集」メニューより編集してください。
JITの仕組みについては上記の通り。
そしてJITは全サーバーで有効化できるが、標準で無効になっているとのことです。
ということで、今回Xserverで運営しているサイトでJITを有効化してみました!
サーバーパネルからJITを有効化する手順
Xserverの公式マニュアルにも案内がある通り、Xserverではサーバーパネル内にある「php.ini直接編集」を使ってphp.iniを編集することで、PHP8のJITコンパイラを有効にすることが可能です。
具体的な手順は以下の通りです。
XserverでJITを有効化する手順
- PHPのバージョンをPHP8以上に変更しておく
- Xserverにログインする:サーバーパネル:ログイン
- ドメインを選び、サーバーパネルの「php.ini設定」を開く
- 対象ドメインのphp.iniを編集してJITを有効化する
普通ならJITを有効化するためにphp.iniに複数のコードを書き込む必要がありますが、Xserverの場合は1行コメントアウトするだけでJITを有効にできました!
誰でも簡単に有効化できるようにしてあるみたいです・w・
ではここから詳しい手順を解説していきます。
事前準備:PHPをPHP8以上にしておく
JITコンパイラはPHP8から実装された機能なので、サーバーのPHPバージョンがPHP8以上でないと使うことができません。
なので、作業の前にまずPHPのバージョンが8以上かどうか?を確認しましょう。
Xserverの場合は、サーバーパネルからPHPのバージョンを確認したり、変更することも出来ます。(やり方は↓にも詳しく書いています)
PHPが8.x以上になっていることを確認したら、早速JITを有効化します。
Xserverにログインする
サーバー上の「php.ini」の編集はサーバーパネルの「php.ini直接編集」を使えば編集することが可能なので、まずXserverにログインします。
まずXserverアカウントにログインしたあとでサーバーパネルを開いてもOKですし、直接サーバーパネルにログインしてもOKです。
サーバーパネルは2通りの方法で開けるので、とにかくログインしましょう。
上記のURLのどちらかを開いてXserverアカウントにログインします。
(Xserverアカウントのログイン情報はサーバーパネルの方でも使えます。)
外部リンク
上記のURLは2021年に新しくなったものに対応しています。
参考:各管理ツールにおけるログインページURLの変更について - 2021/10/27 | レンタルサーバー【エックスサーバー】
ログインしたら、対象のドメイン(契約)を選んでサーバーパネルを開きましょう。
サーバーパネルから「php.ini設定」を開く
サーバーパネルを開いたら、続いてメニューから「php.ini設定」を開きます。
「php.ini設定は」PHPという項目のところにあるはずです。
「php.ini」を編集してJITを有効化する
続いて、JITを有効化したいドメインを選択します。
一般的なサイト構成ならここのドメインは「xs123456.xserv.jp」というのではなく、自分がインストール(契約)した自サイトのドメイン名になるはずです。
「php.ini設定」の画面が開いたら、上のタブを「php.ini直接編集」に切り替えます。
するとphp.iniの中身のコードがずら~と表示されるはずです。
コードを下にスクロールしていけば最終行あたりに「opcache.jit = off」という記述が見つかると思うので、この部分に「;」を付けてコメントアウトすればOKです。
具体的には以下のように変更します。
変更前のコード
[Zend Optimizer]
zend_extension = opcache.so
opcache.jit = off
この部分を...
変更後のコード
[Zend Optimizer]
zend_extension = opcache.so
;opcache.jit = off
こう変更すればXserverでJITが有効になります!
後は次の画面で「確定する」のボタンを押してphp.iniを保存すればOK!
php.iniを保存したら数分後には自分のサイトでJITが有効になります。
以上で作業終了!お疲れさまでした!!
参考
設定の反映には最大5分程度かかるとのことです。
作業を終えたら早速JITがサイトで有効になっているかどうかを確認してみます。
サイトでJITが有効になっているか確認する
自分のサイトでJITが有効になったかどうかを確認するには、phpinfoを使います。
phpinfo.phpというファイルを作って以下のコードを書いて保存。
phpinfo.php
<?php
phpinfo();
?>
続いてこれをサーバー上に上げて開きます。
phpinfoのページが開いたら「Zend OPcache」の「JIT」の項目を確認します。
ここでJITの項目が「On」になっていればJITが機能しています。OKですね!!
関連記事
phpinfoについて詳しくはコチラ↓
phpinfoを作成して確認するまでの手順を詳しく解説。phpの設定値やモジュールの動作確認などに便利!
JITの有効化はコメントアウトだけでOK!
最後に今回作業中に分かったことがあったので、少し専門的な補足です。
JITを有効化するにはphp.iniで「opcache.jit_buffer_size」などの値も指定する必要がありますが、Xserverの場合は「opcache.jit = off」の部分を;でコメントアウトするだけで有効になりました。
また、phpinfoを確認してみるとJITに関する主な値は以下のようになっていました。
opcache.enable | 有効 |
opcache.jit_buffer_size | 1G |
opcache.enable_cli | 無効 |
何が言いたいのかというと、少なくとも共有サーバーの場合、JITに関するDirectiveは元から決められており、これを上書きすることはできないということです。
XsereverでPHP8のJITを有効化するときは難しいことを色々考える必要はなく、単に「opcache.jit = off」をコメントアウトしてやるだけでOKです。
(色々書いてもJITは動きますが、値は無視されてデフォルト値が使われます)
しかしopcache.jit_buffer_sizeが1GBってすごい・w・
まとめ
以上、Xserver(エックスサーバー)でPHP8のJITを有効化する方法でした。
Xserverの場合は初心者の方でも簡単にJITが使えるようになっているので、気になる方は当記事を参考にJITを有効にしてみて下さい!
余談ですが、今回は「php.ini直接編集」という“ツール”を使いましたが、これは「.user.ini」を編集しているみたいです。
つまりFTPソフトなどでドメイン直下の「.user.ini」を同じように編集することでも、JITを有効化することができます。
WordPressの場合はPHPよりもDBなどにボトルネックがあるのであまり速くならないらしいですが、PHP8を使っているならぜひ使いたい機能ですネ!
共有サーバーでJITが使えるなんて...Xserver様、流石です!
ではではこのへんで・w・