在Laravel Vapor上使用Laravel Echo(推进器)
我很难找到为什么我的事件在前端(Laravel Echo+Pusher)没有“触发”,而我的应用程序是通过Laravel Vapor部署的,尽管它在本地运行得非常好 实际上显示事件实际上是由Laravel应用程序发送给Pusher的在Laravel Vapor上使用Laravel Echo(推进器),laravel,laravel-echo,pusher-js,laravel-vapor,Laravel,Laravel Echo,Pusher Js,Laravel Vapor,我很难找到为什么我的事件在前端(Laravel Echo+Pusher)没有“触发”,而我的应用程序是通过Laravel Vapor部署的,尽管它在本地运行得非常好 实际上显示事件实际上是由Laravel应用程序发送给Pusher的 由于我几乎浪费了大约半天的时间来找出问题所在(幸运的是,我看到我的消息实时显示在我的本地环境中,而不是在登台后登台),我想我会再花10分钟在这里写一篇帖子,所以有些人(希望如此)不需要浪费那么多时间。问题实际上是: Vapor首先在.Vapor目录中本地构建应用程
由于我几乎浪费了大约半天的时间来找出问题所在(幸运的是,我看到我的消息实时显示在我的本地环境中,而不是在登台后登台),我想我会再花10分钟在这里写一篇帖子,所以有些人(希望如此)不需要浪费那么多时间。问题实际上是:
- Vapor首先在
目录中本地构建应用程序.Vapor
- 在此构建过程中加载的
中的推送键是本地.env
(!)中的推送键,这意味着如果在.env
中设置.env.{environment}
混合推送器应用程序键和
环境变量,则推送键不会改变任何内容(这是从运行混合推送器应用程序集群
得到的vapor-env:pull{environment}
- 再添加几个环境变量:
PUSHER\u APP\u ID=
推动器应用键=
推送器应用程序机密=
推进器应用程序集群=欧盟
#php artisan pusher中必需的:凭据`
推动器\本地\应用\键=
推进器\本地\应用\集群=欧盟
#php artisan pusher中必需的:凭据`
推送器\分段\应用\键=
推送器\分段\应用程序\集群=eu
#php artisan pusher中必需的:凭据`
推杆\生产\应用\钥匙=
推进器\生产\应用\集群=欧盟
MIX_PUSHER_APP_KEY=“${PUSHER_LOCAL_APP_KEY}”
MIX_PUSHER_APP_CLUSTER=“${PUSHER_LOCAL_APP_CLUSTER}”
- 将新命令(在
)添加到Vapor构建过程:纱线运行生产之前
。因此,对于登台,您将使用php artisan pusher:credentials{environment}
php artisan pusher:credentials登台
我花了好几个小时试图解决同一个问题,但我差点就失去它了
我刚刚发现这篇文章描述了一个npm软件包,它有助于解决这个问题
来源
NPM包
谢谢!似乎是一个更干净的解决方案。我将对此进行调查,并在调查之后将您的答案标记为接受。