Я пытался установить частные каналы, работающие с Laravel и laravel-websockets
Я преодолел несколько препятствий, но оставшееся при попытке авторизации:
preg_match(): Compilation failed: unrecognized character after (?< at offset 13
Эта ошибка, по-видимому, связана с:
…/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php150
Я полагаю, что соответствующие фрагменты кода были бы эхо-конфигурацией и прослушиванием.
bootstrap.js
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
encrypted: false,
wsHost: window.location.hostname,
wsPort: 6001,
disableStats: true,
});
admin.blade.php
Echo.private('messages.{{Auth::id()}}')
.listen('NewMessageNotification', (e) => {
console.log(e.message.message);
});
На всякий случай channel.php
Broadcast::channel('messages.{$toUserId}', function ($user, $toUserId) {
// return true;
return $user->id == $toUserId;
});
Если я удаляю приват, все работает.