Laravel Pusher没有制作任何日志

时间:2018-08-06 06:37:03

标签: php laravel laravel-5 backend pusher

我是使用laravel pusher的新手,我已经阅读了文档并观看了一些有关如何使用它的教程,但是以某种方式我无法使它工作。我在php7.1和nginx上使用laravel 5.6。

我已经在.env文件中添加了所有按键,下面是一些代码

.env

localStorage

web.php

BROADCAST_DRIVER=pusher

broadcasting.php

use App\Events\TestEvent;

Route::get('/test', function() {
    event( new TestEvent() );
});

TestEvent.php

'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'),
        'encrypted' => true,
    ],
],

当我尝试访问我的应用程序上的路由 / test 时,我希望Pusher调试控制台会记录任何东西,但没有记录,甚至Pusher错误日志。

enter image description here

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:0)

我没有使用Pusher的经验,所以如果我错了,请纠正我。但是根据documentation,您应该触发Events来实现ShouldBroadcast接口,如下所示:

event(new TestEvent());

想解释一下为什么您的活动使用了这些特征?我看不到Dispatchable被引用的任何地方。 InteractsWithSockets仅作为use陈述而不是特征。据我所知,SerializesModels仅在尝试将整个模型作为事件发送数据时才需要。

答案 1 :(得分:0)

在broadcast.php中将'encrypted'=> true设置为'encrypted'=> false,

答案 2 :(得分:0)

从代码中还不清楚,但是您可以查看routes/channels.php文件。

以上文件应具有以下代码

Broadcast::channel('TestChannel', function () {
    # true can be replaced with condition in non-testing environment
    return true; 
});

除此之外,您还可以尝试替换

ShouldBroadcastShouldBroadcastNow 获得

class TestEvent implements ShouldBroadcastNow

还添加, use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

ShouldBroadcastNow跳过队列并尽快广播事件消息。