PHP Conference Japan 2024

opcache_compile_file

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

opcache_compile_file编译并缓存PHP脚本,无需执行

描述

opcache_compile_file(string $filename): bool

此函数编译PHP脚本并将其添加到opcode缓存中,无需执行它。这可用于在Web服务器重启后预缓存稍后请求中将包含的文件,从而预加载缓存。

参数

filename

要编译的PHP脚本的路径。

返回值

如果filename成功编译,则返回true;失败则返回false

错误/异常

如果无法加载或编译filename,则会生成级别为E_WARNING的错误。您可以使用@ 来抑制此警告。

参见

添加注释

用户贡献注释 1 个注释

18
IceNV
6年前
请注意,opcache 只会编译和缓存比脚本执行开始时间更旧的文件。

例如,如果您使用脚本生成缓存文件(例如,您无权访问 shmop 并依赖 opcache 进行内存中数据缓存),opcache_compile_file 将不会将生成的 文件包含在缓存中,因为它的修改时间晚于脚本启动时间。

解决方法是使用 touch() 将日期设置为脚本执行日期之前,然后 opcache 将编译并缓存生成的 文件。
To Top