Расширение WebPush gmp не загружено, но необходимо для отправки push-уведомлений с полезной нагрузкой. Вы можете исправить это в своем php.ini

Я работаю над уведомлением с помощью webpush. я использовал эту ссылку для реализации push-уведомлений. Я ищу и применяю каждое решение из последнего неделя, но та же проблема. Я установил gmp и добавил в xampp/etc/php.ini

extension = mcrypt.so

это мой код

class InvoicePaid extends Notification implements ShouldQueue
{
    use Queueable;
    public $title, $body;
    public function __construct($title, $body)
    {
        //
        $this->title = $title;
        $this->body = $body;
    }
    public function via($notifiable)
    {
        return [WebPushChannel::class];
    }

    public function toWebPush($notifiable, $notification)
    {
        $time = \Carbon\Carbon::now();
        return WebPushMessage::create()
            // ->id($notification->id)
            ->title($this->title)
            ->icon(url('/push.png'))
            ->body($this->body);
        //->action('View account', 'view_account');
    }
}

Мой маршрут

Route::post('/send-notification/{id}', function($id, Request $request){
    $user = \App\User::findOrFail($id);
    $user->notify(new \App\Notifications\GenericNotification($request->title, $request->body));
    return response()->json([
        'success' => true
    ]);
});

Но когда я отправляю уведомление, я получаю эту ошибку введите здесь описание изображения

Это изображение установки gmp


person Mudassir    schedule 11.11.2017    source источник
comment
Какую версию PHP вы используете?   -  person darthaditya    schedule 11.11.2017
comment
убедитесь, что у вас установлен php-gmp и добавьте эту строку в ваш php.ini: extension=php_gmp.so   -  person darthaditya    schedule 11.11.2017
comment
Пожалуйста, я установил php-gmp, а также добавил строку в php.ini. Пожалуйста, скажите мне, как я могу убедиться, что я установил gmp?   -  person Mudassir    schedule 11.11.2017
comment
перезагрузите свой сервер. затем создайте файл с именем index.php или whateveryouwant.php в корневом каталоге вашего сервера. Вставьте этот код в этот файл: <?php phpinfo(); ?>. Затем перейдите к http://localhost/index.php или http://localhost/whateveryouwant.php в браузере, чтобы проверить настройки конфигурации php. Если вы найдете там gmp, то он установлен.   -  person darthaditya    schedule 11.11.2017
comment
Поддержка GNU GMP Станислав Малышев это информация о gmp, которую я получил после вызова phpinfo()f   -  person Mudassir    schedule 11.11.2017
comment
Хорошо. так что это означает, что ваш код должен работать сейчас. Вы все еще видите ошибку?   -  person darthaditya    schedule 11.11.2017
comment
Да, я все еще получаю ту же ошибку. я слишком сильно волнуюсь.   -  person Mudassir    schedule 11.11.2017
comment
Посмотрите, есть ли это и это для xampp в Windows поможет вам.   -  person darthaditya    schedule 12.11.2017
comment
но у меня макбук   -  person Mudassir    schedule 12.11.2017
comment
зачем вам тогда использовать xampp? Попробуйте использовать Homestead для разработки, в нем есть все расширения и другие часто используемые вещи: laravel.com/docs/5.7/ усадьба   -  person t1gor    schedule 15.10.2018
comment
@Mudassir Вы нашли решение этой проблемы? У меня такая же проблема, и я никак не могу ее решить. Я исследовал везде, но не нашел решения.   -  person KCP    schedule 26.10.2018


Ответы (2)


Попробуйте зайти в папку xampp/php/ext

  • проверить, существует ли php_gmp.dll

    • открыть xampp/php/php.ini

      найдите php_gmp и убедитесь, что это extension=php_gmp.dll вместо ;extension=php_gmp.dll

  • еще

    • download php_gmp.dll to the folder and try the procedure again

У вас не должно быть проблем с gmp снова.

person myckhel    schedule 05.12.2018

Убунту 18.04, PHP 7.4. Решается следующими командами:

  1. sudo apt установить php7.4-gmp
  2. Перезапуск службы sudo php7.4-fpm
person Rus Skazkin    schedule 06.11.2020