Composer 项目可通过生成纯类定义的预加载脚本并配置 opcache.preload 实现高效预加载;需用 composer-preload 工具扫描指定目录生成 preload.php,再在 php.ini 中启用 opcache 并指定路径,注意仅预加载稳定类、部署时重新生成脚本。

Composer 本身不直接支持 PHP 预加载,但可以通过合理组织自动加载逻辑、生成预加载脚本,并配合 PHP 7.4+ 的 opcache.preload 配置,实现 Composer 项目的高效预加载。
理解 PHP 预加载的核心限制
PHP 预加载在 Web 请求前一次性载入指定 PHP 文件到 OPCache 内存中,所有请求共享。但它不能动态执行 autoload 逻辑,也不支持 Composer 的自动加载器(如 vendor/autoload.php)直接被 preload —— 因为该文件会注册闭包、修改全局状态,而预加载阶段禁止副作用操作。
因此,关键不是“让 Composer 自动加载器被预加载”,而是提取出真正需要常驻内存的类文件路径,显式写入预加载脚本。
生成适合预加载的类列表
推荐使用社区工具 composer-preload(由 ocramius 维护)自动生成预加载清单:
立即学习“PHP免费学习笔记(深入)”;
标签: php js json composer 工具 环境变量
还木有评论哦,快来抢沙发吧~