You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel10/Filament本地部署Octane遇'config类不存在'问题求助

问题解决指南:Laravel Octane + OpenSwoole 在 Filament 项目中的正确配置与性能说明

一、Octane 能否提升该项目性能?

能。Octane 配合 OpenSwoole 会将 Laravel 框架及依赖常驻内存,避免每次请求重新加载核心文件,对于 Laravel + Filament(基于 Livewire)的项目,能显著降低请求响应时间、提升并发处理能力,无论开发还是生产环境都能获得明显性能收益。

二、访问虚拟主机地址无性能提升的解决方法

当前访问 http://local-quizzes.com 仍走 Apache 默认的 PHP-FPM 流程,未转发到 Octane 的 Swoole 服务,需配置 Apache 反向代理:

  1. 编辑虚拟主机配置文件(路径通常为 /etc/apache2/sites-available/local-quizzes.com.conf)
  2. 在 <VirtualHost *:80> 块内添加反向代理规则:
    ProxyPass / http://local-quizzes.com:8002/
    ProxyPassReverse / http://local-quizzes.com:8002/
    
  3. 启用并重启 Apache 服务:
    sudo a2enmod proxy proxy_http
    sudo systemctl restart apache2
    

配置完成后,访问 http://local-quizzes.com 会直接转发到 Octane 服务,即可看到性能提升。

三、「Target class [config] does not exist」错误的修复步骤

该错误源于 Octane 常驻内存环境下,部分核心服务(如 config)或依赖包(Carbon、Livewire)未正确初始化,按以下步骤排查:

  1. 调整 Octane 预加载配置
    编辑 config/octane.php,在 warm 数组中添加必要服务,确保核心依赖被预加载:
    'warm' => [
        \Illuminate\Contracts\Config\Repository::class,
        \Livewire\Livewire::class,
    ],
    
  2. 清除缓存并重启 Octane
    php artisan cache:clear
    php artisan octane:stop
    php artisan octane:start --server=swoole --host=local-quizzes.com --port=8002 --watch
    
  3. 确认依赖版本兼容性
    检查 composer.json 中 Livewire 版本为 v3.x(Laravel 10 及 Filament 3.2 要求的兼容版本),若版本不符,执行更新:
    composer update livewire/livewire
    
  4. 安装必要扩展
    开发环境下的 --watch 参数依赖 inotify 扩展,确保已安装:
    sudo apt install php8.2-inotify
    

四、正确运行项目的完整流程

  1. 完成上述 Apache 反向代理配置
  2. 调整 config/octane.php 的预加载服务列表
  3. 清除缓存并启动 Octane:php artisan octane:start --server=swoole --host=local-quizzes.com --port=8002 --watch
  4. 访问 http://local-quizzes.com 即可通过 Octane 运行项目

内容的提问来源于stack exchange,提问作者mstdmstd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:30:02