我一直在測試Laravel Echo,它對非私人頻道的效果很好。我收到了通過該非私人頻道上的事件傳遞的數據。但問題是,當我將事件設置爲在私人頻道上廣播時,我收到了以下錯誤消息: 注意:我以用戶身份登錄,如圖所示。 Laravel 5.4 Pusher(laravel-echo)無法訪問私人頻道
當我訂閱了一個私人頻道,在Laravel我去了config/app.php並取消註釋'App \ Providers \ BroadcastServiceProvider :: class,'。 還去到App \供應商\ BroadcastServiceProvider.php和使用的代碼按下面的圖片:
我的資源/資產/ JS/bootstrap.js文件有下面的代碼,並使用laravel混合編譯:
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'hiddenkey',
cluster: 'ap1',
encrypted: true
});
window.Echo.private('chat-room.1')
.listen('ChatMessageWasReceived', (e) => {
console.log(e.user, e.chatMessage);
});
順便說一句,我已經安裝了所有的依賴關係,即: - 作曲家需要推/推的PHP服務器, - NPM安裝--save laravel回波推-JS, 還配置我的配置/ broadcasting.php使用對.env文件的引用已經輸入了推送器所需的所有信息。一切工作正常,你可以看到這是我從事件接收數據按下面的圖片非專用通道:
爲什麼即使我是一個登錄的身份驗證的用戶,並在BroadcastServiceProvider.php文件我是回真到了Broadcast::channel()
方法,我沒有看到從我的活動傳遞的數據?我從非私人頻道收到數據,爲什麼不在私人頻道?我做錯了什麼?爲什麼會出現這些錯誤在我的控制檯,而不是數據:
- POST http://example.dev/broadcasting/auth 500 (Internal Server Error)
- Pusher : Couldn't get auth info from your webapp : 500
順便說一句,我下面這個教程直到我堅持了專用通道: https://mattstauffer.co/blog/introducing-laravel-echo