PHPがサクサク動く!OPcacheを超簡単に解説!

JavaScriptを有効にしてください

OPcacheとは何か?

まず、OPcacheの正体を簡単に説明します。

PHPは、通常「スクリプト」を実行するたびにコードを解析・コンパイルします。
OPcacheは、この「解析・コンパイル」の結果を保存しておき、次回から再利用する仕組みです。
つまり:処理が速くなり、サーバーの負荷が減ります。
一言で言うと:
「PHPを早くするメモリキャッシュの仕組み」です。

どうして速くなるの?

普通、PHPは以下の流れで動いています:

  1. PHPコードを解析
  2. 実行可能な形(バイトコード)に変換
  3. 実行

OPcacheがあると、このステップが次のように変わります:

  1. PHPコードを解析
  2. 変換後のバイトコードを保存(メモリにキャッシュ)
  3. 次回は保存されたバイトコードを直接使って実行

これで2回目以降の実行が劇的に速くなるのです!

OPcacheがインストールされているか確認する

実は、多くの環境ではOPcacheがすでにインストールされています。ただし、無効になっている場合もあるので確認が必要です。

確認方法

PHPが動いている環境で、以下のコードを実行してください:

check.php
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
// OPcacheが有効かどうかを確認
if (function_exists('opcache_get_status')) {
    $opcacheStatus = opcache_get_status(false);

    if ($opcacheStatus) {
        echo "<h1>OPcacheの状態</h1>";
        echo "<p>OPcacheが有効になっています。</p>";
        echo "<pre>";
        print_r($opcacheStatus);
        echo "</pre>";
    } else {
        echo "<p>OPcacheの状態を取得できません。OPcacheが有効になっていることを確認してください。</p>";
    }
} else {
    echo "<p>現在のPHPインストールではOPcacheが有効になっていません。</p>";
}

「OPcacheが有効になっています。」と表示されればOKです。

よくある質問

Q: どんなサイトでOPcacheを使うべき?
A: ほとんどすべてのPHPサイトで使えます。特にWordPressやLaravelなどのフレームワークでは、効果が顕著です。

Q: OPcacheの設定を変更するのは難しい?
A: php.iniを触るだけなので簡単!

Q: 再起動しないと反映されないの?
A: はい。設定を変更したら必ずWebサーバーを再起動しましょう。

まとめ

  • OPcacheはPHPの速度を上げる必須ツール
    設定も簡単なので、ぜひ試してみましょう。

「サーバーの負荷を下げたい」「サイトを速くしたい」と思ったら、まずはOPcacheを有効にしてみてください。

手元で試してみたいという方のために、実際にDockerを使ってopcacheを有効にする方法について下記記事で解説していますのでぜひ試してみて下さい。
Dockerを使用してPHPのOPcacheを有効化する方法


スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア