如何优化 Filament 本地开发环境性能:启用 OPcache、关闭 Xdebug 并缓存 Blade 图标?
如何优化 Filament 本地开发环境性能启用 OPcache、关闭 Xdebug 并缓存 Blade 图标【免费下载链接】filamentA powerful open-source UI framework for Laravel • Build and ship apps admin panels fast with Livewire项目地址: https://gitcode.com/GitHub_Trending/fi/filament本地跑一个基于 Filament 的 Laravel 应用时页面响应慢是常见情况。Filament 官方文档在 Optimizing local development 一节给出了针对本地开发环境的性能优化步骤本文按照该文档覆盖其中三个核心操作在php.ini中启用并配置 OPcache、显式关闭 Xdebug、运行php artisan icons:cache缓存 Blade 图标。这三项操作都作用于本地 PHP 环境和 artisan 命令目标是减少每个请求的解析开销和视图渲染开销。文档同时指出生产环境的优化属于另一套流程见 部署到生产环境本文只处理本地场景。准备先定位 php.ini 文件后两步操作都需要修改php.ini。文档给出的定位命令是php --ini先运行它确认本机的php.ini实际路径再往下操作。注意该文件可能不存在或被其他配置文件覆盖以php --ini的输出为准。启用 OPcacheOPcache 将预编译的 PHP 字节码存放在共享内存中省去每次请求时重新加载和解析脚本的过程。文档说明这一点对大型应用的本机开发提速效果明显。检查当前状态运行以下命令查看 OPcache 是否已启用php -r echo opcache.enable . ini_get(opcache.enable) . PHP_EOL;期望输出是opcache.enable 1。如果不是说明未启用需要在php.ini中加入opcache.enable1 # Enable OPcache可选调整 OPcache 容量参数文档把下面两项列为可选配置适用条件是响应仍然慢或者怀疑 OPcache 缓存空间不足opcache.memory_consumption128 opcache.max_accelerated_files10000opcache.memory_consumptionOPcache 存放预编译 PHP 代码可用的内存单位 MB。文档建议从128起步按项目需要调整。opcache.max_accelerated_filesOPcache 可缓存的 PHP 文件数量上限。文档建议以10000为起点文件多的应用可以加大。文档明确说明这两项是可选的主要服务于性能排查和大型 Laravel 应用如果没有上述症状只完成opcache.enable1即可。关闭 XdebugXdebug 用于调试但文档指出它会显著拖慢性能并且强调一个容易忽略的点Xdebug 安装后如果没有显式禁用默认仍然是启用状态。所以在php.ini中明确写入xdebug.modeoff # Disable Xdebug这一行要显式加进php.ini路径同样用php --ini确认不能依赖没在用就等于关掉了。缓存 Blade 图标Filament 使用 Blade Icons 包渲染图标在图标较多的视图中这项开销会比较明显。启用缓存的命令是php artisan icons:cache在 Laravel 项目根目录下执行即可。这里有一个必须记住的限制每次安装新的 Blade 图标包之后都要重新运行一次php artisan icons:cache否则缓存中不会包含新图标的发现结果。同一文档中的其他本地优化项可选Optimizing local development 文档还包含两个与标题三项并列的可选优化遇到对应症状时再处理调试工具拖累Laravel Herd 的视图调试Herd Dumps Settings 取消勾选 Views和 Laravel Debugbar在.env中加入DEBUGBAR_ENABLEDfalse都会明显拖慢请求不使用时建议关闭。杀毒软件扫描文档指出 Filament 性能问题在 Windows 上常与 Microsoft Defender 等实时文件扫描有关可以考虑把项目目录加入扫描排除项。文档同时警告只有在完全信任该项目并理解风险的前提下才应排除扫描。这两项与 OPcache/Xdebug/图标缓存属于同一份文档下的独立操作不互相依赖。验证方式文档给出的明确验证手段是 OPcache 状态检查命令php -r echo opcache.enable . ini_get(opcache.enable) . PHP_EOL;修改php.ini并重启 PHP 相关进程后重新运行该命令输出为opcache.enable 1即表示 OPcache 已生效。Xdebug 和 Blade 图标缓存文档没有给出独立的验证命令判断依据是php.ini中已显式写入xdebug.modeoffphp artisan icons:cache命令成功执行完毕。三项操作完成后本地开发的判断标准就是文档所述——请求响应和视图渲染的体感速度提升。下一步如果之后要部署到生产环境部署到生产环境 文档建议使用php artisan filament:optimize一键完成 Filament 组件缓存和 Blade 图标缓存它是php artisan filament:cache-components与php artisan icons:cache的合并简写并用php artisan filament:optimize-clear清除缓存。另外注意filament:cache-components生成的组件索引在本地开发期间不建议启用因为新增组件在缓存清除或重建前不会被发现。【免费下载链接】filamentA powerful open-source UI framework for Laravel • Build and ship apps admin panels fast with Livewire项目地址: https://gitcode.com/GitHub_Trending/fi/filament创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考