I'm trying to fire an event every time a new user is registered. For this in my EventServiceProvider I added
protected $listen = [
'App\Events\UserRegistered' => [
'App\Listeners\UserRegisteredListener',
],
];
and ran
php artisan event:generate
which created me an event UserRegistered and a listener UserRegisteredListener. In my UserRegistered i have
public function __construct(User $user)
{
$this->user = $user;
}
and my UserRegisteredListener i have
public function handle(UserRegistered $event)
{
$user = $event->user;
$user->cart()->save(new Cart);
$user->wallet()->save(new Wallet);
}
I'm firing the event from my AuthController trait RegistersUsers
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
Auth::guard($this->getGuard())->login($this->create($request->all()));
Event::fire(new UserRegistered(Auth::user()));
return redirect($this->redirectPath());
}
The logic works completely fine on localhost, but when I push it to the prod server which is running an EC2 amazon linux instance the event is not being fired at all.