【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
を返します。