XserverでPHPのJITコンパイラを有効化する方法。

Xserver-PHP-JIT有効化_eyecatch

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を有効化する手順

  1. PHPのバージョンをPHP8以上に変更しておく
  2. Xserverにログインする:サーバーパネル:ログイン
  3. ドメインを選び、サーバーパネルの「php.ini設定」を開く
  4. 対象ドメインの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アカウントのログイン情報はサーバーパネルの方でも使えます。)

外部リンク

ログインしたら、対象のドメイン(契約)を選んでサーバーパネルを開きましょう。

サーバーパネルから「php.ini設定」を開く

サーバーパネルを開いたら、続いてメニューから「php.ini設定」を開きます。

Xserver-PHP-JIT有効化_001

「php.ini設定」を開く

「php.ini設定は」PHPという項目のところにあるはずです。

「php.ini」を編集してJITを有効化する

続いて、JITを有効化したいドメインを選択します。

Xserver-PHP-JIT有効化_002

JITを有効化したいドメインを選択する

一般的なサイト構成ならここのドメインは「xs123456.xserv.jp」というのではなく、自分がインストール(契約)した自サイトのドメイン名になるはずです。

Xserver-PHP-JIT有効化_003

「opcache.jit = off」をコメントアウトして保存する

「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が有効になります!

Xserver-PHP-JIT有効化_004

後は次の画面で「確定する」のボタンを押してphp.iniを保存すればOK!

Xserver-PHP-JIT有効化_005

php.iniを保存したら数分後には自分のサイトでJITが有効になります。
以上で作業終了!お疲れさまでした!!

参考

設定の反映には最大5分程度かかるとのことです。

作業を終えたら早速JITがサイトで有効になっているかどうかを確認してみます。

スポンサーリンク

サイトでJITが有効になっているか確認する

自分のサイトでJITが有効になったかどうかを確認するには、phpinfoを使います。

Xserver-PHP-JIT有効化_006

phpinfo.phpというファイルを作って以下のコードを書いて保存。

 phpinfo.php
<?php
phpinfo();
?>

続いてこれをサーバー上に上げて開きます。

phpinfoのページが開いたら「Zend OPcache」の「JIT」の項目を確認します。
ここでJITの項目が「On」になっていればJITが機能しています。OKですね!!

JITの有効化はコメントアウトだけでOK!

最後に今回作業中に分かったことがあったので、少し専門的な補足です。

JITを有効化するにはphp.iniで「opcache.jit_buffer_size」などの値も指定する必要がありますが、Xserverの場合は「opcache.jit = off」の部分を;でコメントアウトするだけで有効になりました。

また、phpinfoを確認してみるとJITに関する主な値は以下のようになっていました。

opcache.enable有効
opcache.jit_buffer_size1G
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」を編集しているみたいです。

Xserver-PHP-JIT有効化_009

つまりFTPソフトなどでドメイン直下の「.user.ini」を同じように編集することでも、JITを有効化することができます。

WordPressの場合はPHPよりもDBなどにボトルネックがあるのであまり速くならないらしいですが、PHP8を使っているならぜひ使いたい機能ですネ!

共有サーバーでJITが使えるなんて...Xserver様、流石です!
ではではこのへんで・w・

-サイト構築
-,

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

ザキ

X:@sologaku

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

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

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


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

© 2020 sologaku