PHP Conference Nagoya 2025

opcache_compile_file

(PHP 5 >= 5.5.5, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_compile_filePHP スクリプトを、実行せずにコンパイルしてキャッシュする

説明

opcache_compile_file(string $filename): bool

この関数は、PHP スクリプトをコンパイルして opcode キャッシュに追加しますが、スクリプトは実行しません。 これを使うと、ウェブサーバーの再起動後にファイルをキャッシュしておき、 後でリクエストがあったときにそのキャッシュを使えるようになります。

パラメータ

filename

コンパイルしたい PHP スクリプトへのパス。

戻り値

filename を正常にコンパイルしたときに true を返します。 失敗した場合に false を返します。

エラー / 例外

filename を読み込めなかったりコンパイルできなかったりした場合は E_WARNING レベルのエラーが発生します。 @ を使えば、この警告を抑制できます。

参考

add a note

User Contributed Notes 1 note

up
19
IceNV
6 years ago
Be aware that opcache will only compile and cache files older than the script execution start.

For instance, if you use a script to generate cache files (e.g. you don't have access to shmop and rely on opcache for in-memory data caching instead), opcache_compile_file will not include the generated file in the cache, because its modification time is after the script start.

The workaround is to use touch() to set a date before the script execution date, then opcache will compile and cache the generated file.
To Top