PusherBroadcaster.php第106行中的Laravel Echo BroadcastException:未知auth_key - php

尝试广播事件时出现未知auth_key错误。我尝试按照其他帖子中所述更改集群,但无法正常工作。我在app.php中没有评论广播服务提供商。

.env

PUSHER_APP_ID=******
PUSHER_APP_KEY=******
PUSHER_APP_SECRET=******

配置/广播

 'pusher' => [
  'driver' => 'pusher',
  'key' => env('PUSHER_APP_KEY'),
  'secret' => env('PUSHER_APP_SECRET'),
  'app_id' => env('PUSHER_APP_ID'),
  'options' => [
   ],
],

\ app \ Events \ MessagePosted.php

public function broadcastOn() {
  return new PresenceChannel('chatroom');
 }

\ resources \ assets \ js \ bootstrap.js

window.axios = require('axios');

window.axios.defaults.headers.common = {
    'X-Requested-With': 'XMLHttpRequest'
};

import Echo from "laravel-echo"
window.Pusher = require('pusher-js');
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '*****',
    cluster: 'ap2',
    encrypted: true
});

\ resources \ assets \ js \ app.js

const app = new Vue({
    el: '#app',
    data: {
        messages: [],
        usersInRoom: []
    },
    methods: {
        addMessage(message) {
            // Add to existing messages
            this.messages.push(message);

            // Persist to the database etc
            axios.post('/messages', message).then(response => {
                // Do whatever;
            })
        }
    },
    created() {
        axios.get('/messages').then(response => {
            this.messages = response.data;
        });
        Echo.join('chatroom')
                .here((users) => {
                    this.usersInRoom = users;
                })
                .joining((user) => {
                    this.usersInRoom.push(user);
                })
                .leaving((user) => {
                    this.usersInRoom = this.usersInRoom.filter(u => u != user)
                })
                .listen('MessagePosted', (e) => {
                    this.messages.push({
                        message: e.message.message,
                        user: e.user
                    });
                });
    }
});

参考方案

在config / broadcasting中添加'cluster'=>'us2',
'encrypted'=>在'options'中为true

'pusher' => [
  'driver' => 'pusher',
  'key' => env('PUSHER_APP_KEY'),
  'secret' => env('PUSHER_APP_SECRET'),
  'app_id' => env('PUSHER_APP_ID'),
  'options' => [
       'cluster' => 'us2',
       'encrypted' => true
  ],
],

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…

Isset与array_key_exists - php

isset或array_key_exist在哪里适合使用?就我而言,两者都有效。if( isset( $array['index'] ) { //Do something } if( array_key_exists( 'index', $array ) { //Do something } 参考方案 参见:http:…

jQuery / JavaScript中的PHP echo()函数? - php

是否有与PHP echo()相同的jquery / javascript函数? 参考方案 我想最接近的是document.write(),因为它是本机JavaScript。但是,有许多在DOM中编写/修改文本的方法,例如innerHtml(),innerText()和outerHtml(),以及jQuery的html()和text()。

PHP向STDERR编写大量文本 - php

在PHP中向STDOUT编写大块代码时,您可以执行以下操作:echo <<<END_OF_STUFF lots and lots of text over multiple lines etc.etc END_OF_STUFF; (即Heredoc)除了STDERR,我需要做类似的事情。是否还有另一个类似echo的命令,但使用了STDERR…

为什么“…”在我的代码中连接两个数字? - php

我有以下代码片段,在其中我不太了解其输出:echo 20...7; 为什么此代码输出200.7?据我所知,...是splat运算符,在ruby中称为splat运算符,它使您可以使用具有可变数量参数的函数,但是在使用echo的上下文中,我不明白它在做什么。谁能解释这个代码的确切作用? 参考方案 不,这不是splat / unpacking运算符,甚至认为它看起…