我还假设您已经正确设置了您的Pusher帐户,并且您的环境变量是正确的。
如果是这样,您可能需要确保您使用的是正确的群集(默认情况下适用于美国,但在美国东海岸以外,例如群集必须明确定义)。
更新:
控制器代码:
<?php
namespace App\Http\Controllers;
use Vinkla\Pusher\Facades\Pusher;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class TestPusherController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function test(){
$arr = array('test' => 'hello world 2') ;
$pusher = new Pusher(env('PUSHER_KEY'), env('PUSHER_SECRET'), env('PUSHER_APP_ID'), array('encrypted' => true, 'cluster' => 'ap1'));
$pusher::trigger('test_channel', 'my_event', $arr);
return $arr;
}
public function shortenedTest(){
$message = 'Hello world';
Pusher::trigger('my-channel', 'my-event', ['message' => $message]);
}
}
在网络路线:
Route::get('testPusherController', '[email protected]');
Route::get('shortenedTestPusherController', '[email protected]');
我有一个新的这方面的工作按照https://github.com/vinkla/laravel-pusher的设置步骤vinkla /推杆的安装,在Laravel 5.3上,使用内置的PHP服务器和连接到EU服务器(目前我没有任何使用ap1的Pusher应用程序)。
您会注意到控制器中编码的少量更改以获取正确的格式。您必须在控制器上方使用Pusher外观。
为了完整起见,我添加了一个更好的工作方式,您可以在Config/pusher.php文件中设置Pusher凭证,而无需为每次使用设置连接。这可以在控制器上的shortenedTest()方法中看到。
<?php
return [
'connections' => [
'main' => [
'auth_key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_CLUSTER')
],
'host' => null,
'port' => null,
'timeout' => null,
],
'alternative' => [
'auth_key' => 'your-auth-key',
'secret' => 'your-secret',
'app_id' => 'your-app-id',
'options' => [],
'host' => null,
'port' => null,
'timeout' => null,
],
],
];
您是否在https://dashboard.pusher.com/上的调试控制台中看到了这些事件? –
不,我没有看到任何事件 –
我还没有在Laravel中使用这个,但是从我的阅读中不应该使用'broadcast()'方法? https://laravel.com/docs/5.3/broadcasting#broadcasting-events –