优化 Laravel 框架加载慢的问题
一个简单的 Laravel 应用,启动阶段可能需要加载 300~500 个 PHP 文件,耗时 0.3~0.8 秒
为什么 Swoole 能解决?
核心原理:Swoole 在启动时一次性完成所有文件的加载和初始化,后续请求只是“唤醒”已经存在于内存中的对象,因此省去了那文件加载时间。
进入网站根目录
安装依赖包
composer require swooletw/laravel-swoole
加上 注册服务提供者(config/app.php的 providers 里面)
SwooleTW\Http\LaravelServiceProvider::class,
发布配置文件
php artisan vendor:publish --provider="SwooleTW\Http\LaravelServiceProvider"
打开 config/swoole_http.php,至少配置以下几项:
// 监听地址:默认只能本机访问,如需外网访问改为 '0.0.0.0'
'host' => '0.0.0.0',
// 监听端口:确保未被占用(如 1215)
'port' => '1215',
启动 Swoole HTTP 服务器
php artisan swoole:http start
验证访问(防火墙注意一下)
本机测试:
curl http://127.0.0.1:1215
实施这些优化后
响应时间:从 0.5+ 秒降到 0.1 秒以内
重要提醒:
修改代码后:Swoole 服务器常驻内存,修改控制器、模型等业务代码后,必须重启服务才能生效(
php artisan swoole:http restart)。但视图文件(.blade.php)支持自动重载。
请先 登录后发表评论 ~