Php 推进器未接收到来自Laravel 5.2广播的事件

Php 推进器未接收到来自Laravel 5.2广播的事件,php,laravel-5,pusher,Php,Laravel 5,Pusher,我使用的是Laravel5.2和PHP7。我正在本地MacOSX环境中测试这一点。我在ping其他服务或使用php发出请求方面没有问题。我通过使用api详细信息编辑broadcasting.php和.env来配置我的应用程序 broadcasting.php 'default' => env('BROADCAST_DRIVER', 'pusher'), 'connections' => [ 'pusher' => [ 'driver' => '

我使用的是Laravel5.2和PHP7。我正在本地MacOSX环境中测试这一点。我在ping其他服务或使用php发出请求方面没有问题。我通过使用api详细信息编辑broadcasting.php和.env来配置我的应用程序

broadcasting.php

'default' => env('BROADCAST_DRIVER', 'pusher'),

'connections' => [

    'pusher' => [
        'driver' => 'pusher',
        'key' => env('mykey'),
        'secret' => env('mysecret'),
        'app_id' => env('myappid'),
    ],
...
和in.env

...
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=redis
BROADCAST_DRIVER=pusher

PUSHER_KEY=mykey
PUSHER_SECRET=mysecret
PUSHER_APP_ID=myappid
...
我创建了一个这样的TestEvent

<?php

namespace App\Events;

use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class TestEvent extends Event implements ShouldBroadcast
{
    use SerializesModels;

    public $data;

    public function __construct()
    {
        $this->data = array(
            'power'=> '10'
            );
    }

    public function broadcastOn()
    {
        return ['test_channel'];
    }
}
Event::fire(new TestEvent());
事件显示并在redis中处理

[2016-02-04 10:06:18] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 10:08:44] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 10:11:14] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 10:11:59] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 10:14:22] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 11:17:04] Processed: Illuminate\Broadcasting\BroadcastEvent
[2016-02-04 11:38:14] Processed: Illuminate\Broadcasting\BroadcastEvent
但是在查看调试控制台时,pusher中没有显示任何内容。因此,似乎出于某种原因,事件从未被发送给pusher。我还检查了我的时区设置,以确保这不是一个问题。广播事件时,laravel日志文件中的my中没有错误


我如何解决这个问题?有没有一种好方法可以调试并查看是否确实有向pusher发出的请求?

这可能无法解决问题,可能您更改了问题的详细信息,但如果您的
.env
如下所示:

PUSHER_KEY=mykey
PUSHER_SECRET=mysecret
PUSHER_APP_ID=myappid
'pusher' => [
        'driver' => 'pusher',
        'key' => env('PUSHER_KEY'),
        'secret' => env('PUSHER_SECRET'),
        'app_id' => env('PUSHER_APP_ID'),
    ],
您的推送者凭证的代码不应该如下所示:

PUSHER_KEY=mykey
PUSHER_SECRET=mysecret
PUSHER_APP_ID=myappid
'pusher' => [
        'driver' => 'pusher',
        'key' => env('PUSHER_KEY'),
        'secret' => env('PUSHER_SECRET'),
        'app_id' => env('PUSHER_APP_ID'),
    ],

它引用的是代码中的值,而不是键

我现在明白了。这就解决了问题。很可能会将此标记为解决方案,但会等待数小时,以允许其他人回答或提供输入。谢谢不客气。很高兴它现在对你有用。如果能看到一些关于调试这些问题的解决方案,那就太好了,因为我还没有正确地试验过这些特性。我想您可能已经检查过了,但是您的日志文件是否有关于无效凭据的问题?您可以在
/storage/logs/laravel.log
或包含今天日期的日志中找到它。如果发现问题出现在日志文件中,您可能需要更新我的答案或添加自己的答案。谢谢。不,我的日志文件中没有任何内容,这会使问题更容易解决。在我问题的最后,我已经说过了。我的错是我错过了,我想你可能已经错过了。希望有人能发布一些关于如何调试这些问题的细节。@haakym,看来你能帮我。看看这个: