php - Laravel:Pusher 事件不会从 eloquent 的事件监听器中广播

标签 php laravel events pusher

我在 Eloquent 事件监听器中使用 Pusher 进行事件广播时遇到问题。我的事件正在从 Laravel Controller 完美地触发和发送。然而,当我从 Eloquent 事件监听器中触发广播时,广播似乎实际上并未到达推送器。

我的 app/Providers/AppServiceProvider.phpboot 方法包含:

MyModel::saving(function($record){
    doSomeStuf();

    // trigger event
    $pusher = \App::make('pusher');
    $channel = $record->username;
    $pusher->trigger($channel, 'status-changed', $record);

    doSomeOtherStuf();

    return true;
});

当相同的代码放在 Controller 中时,订阅事件的js文件监听事件没有问题。

另请注意,doSomeStuf()doSomeOtherStuf() 执行得非常好,并且没有抛出异常。

最佳答案

结果是日期同步问题。

我的本​​地服务器是 Ubuntu 机器,而我的实时服务器在 CentOS 上运行。运行以下命令解决了问题:

Ubuntu:

sudo ntpdate ntp.ubuntu.com

CentOS:

sudo ntpdate pool.ntp.org

关于php - Laravel:Pusher 事件不会从 eloquent 的事件监听器中广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692469/

相关文章:

php - Laravel 处理异常

javascript - 单击浏览器后退按钮时触发事件

c# - rowsRemoved 事件处理程序调用一次

javascript - 显示单击了哪个列表项

php - 获取先前 Codeigniter AR 查询的行数

使用 ssh2_scp_send 的 PHP 脚本无法创建远程文件

PHP5 框架 : Autoloading and Opcode Caching

php - (laravel) 是否可以通过传递 id 以外的字段来使用方法注入(inject)?

php - 传递给 Blade 的 Laravel 单词不知何故变得大写而没有解释

laravel - PayPal 沙盒上的 cURL 56 错误