【PHP8.x】opcache_invalidate関数の使い方

作成日: 更新日:

opcache_invalidate関数は、指定されたスクリプトまたはスクリプトパスに対応するOPcacheのエントリを無効化する関数です。OPcacheは、PHPスクリプトをコンパイルした結果をメモリにキャッシュすることで、PHPの実行速度を向上させる拡張モジュールです。

この関数を使用することで、ファイルの内容が変更された場合に、キャッシュされた古いバージョンのスクリプトを強制的に再コンパイルさせることができます。これにより、変更が即座に反映されるようになります。

具体的には、opcache_invalidate(string $script, bool $force = false): bool という形式で使用します。$script引数には、無効化したいスクリプトのパスを指定します。$force引数はオプションで、デフォルトは false です。true を指定すると、スクリプトが実行中であっても強制的に無効化します。通常は false で十分ですが、どうしてもキャッシュが更新されない場合に true を試すことができます。

この関数は、OPcacheが有効になっている場合にのみ機能します。OPcacheが無効になっている場合、この関数を呼び出しても何も起こりません。また、関数が成功した場合は true 、失敗した場合は false を返します。

システムエンジニアとして、例えばデプロイ時にスクリプトファイルを更新した後、この関数を使ってOPcacheを無効化することで、ユーザーに最新の変更を確実に反映させることができます。これにより、キャッシュによる表示の不整合を防ぎ、安定したシステム運用に貢献できます。

基本的な使い方

構文(syntax)

1opcache_invalidate(string $filename, bool $force = false): bool

引数(parameters)

string $filename, bool $force = false

  • string $filename: 無効化するPHPスクリプトのファイルパスを指定します。
  • bool $force = false: trueを指定すると、キャッシュされているスクリプトが強制的に無効化されます。

戻り値(return)

bool

opcache_invalidate関数は、OpCacheから指定されたスクリプトのエントリを無効にできるかを判定します。無効化が成功した場合はtrueを、失敗した場合はfalseを返します。

【PHP8.x】opcache_invalidate関数の使い方 | いっしー@Webエンジニア