最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Laravel框架下实时通讯功能的实现方法
时间:2026-06-02 16:30:01 编辑:袖梨 来源:一聚教程网
Laravel框架为开发者提供了两种高效的实时通讯解决方案,通过Laravel Echo结合Pusher或Laravel Websockets都能轻松实现。下面详细介绍具体实施流程。

使用Laravel Echo和Pusher
安装必要依赖包
通过Composer工具安装Pusher服务端组件:
composer require pusher/pusher-php-server进行Pusher参数配置
在项目环境文件中添加以下配置项:
BROADCAST_DRIVER=pusher PUSHER_APP_ID=your_pusher_app_id PUSHER_APP_KEY=your_pusher_app_key PUSHER_APP_SECRET=your_pusher_app_secret PUSHER_APP_CLUSTER=your_pusher_app_cluster修改广播配置文件设置:
'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'useTLS' => true, ], ],安装前端组件
使用包管理器安装Echo库:
npm install --save laravel-echo pusher-js或使用yarn安装:
yarn add laravel-echo pusher-js初始化Echo实例
在JS启动文件中进行如下配置:
import Echo from 'laravel-echo'; import Pusher from 'pusher-js'; window.Pusher = Pusher; window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, cluster: process.env.MIX_PUSHER_APP_CLUSTER, encrypted: true, });建立事件
在客户端添加事件逻辑:
Echo.private('channel-name') .listen('EventName', (e) => { console.log(e); });触发事件广播
在服务端触发指定事件:
use AppEventsYourEvent; event(new YourEvent($data));
使用Laravel Websockets
安装Websockets包
通过Composer安装扩展包:
composer require beyondcode/laravel-websockets生成配置文件
执行命令发布配置文件:
php artisan vendor:publish --provider="BeyondCodeLaravelWebSocketsWebSocketsServiceProvider"启动服务
运行以下命令启动服务:
php artisan websockets:serve配置广播系统
修改环境变量设置:
BROADCAST_DRIVER=pusher调整广播配置文件:
'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'useTLS' => true, ], ],建立事件
参考前述Echo的方法
触发事件广播
采用相同的触发方式
通过上述两种方案,开发者可以快速构建Laravel应用的实时通讯功能,满足不同场景下的业务需求。