Я создаю приложение PWA и оно работает нормально, но при попытке загрузить на сервер я застрял на ошибке. На локальном сервере Windows все нормально, даже уведомления, и я не знаю много команд putty / linux.
отметьте здесь мой файл phpinfo.
Я пытаюсь загрузить на сервер amazon ec2. Я установил apache, php, ssl и другие необходимые вещи. И его рабочий файл, кроме уведомлений.
Когда я звоню в свой файл уведомлений, я получаю 503 ответ. Я установил композитор, установил все. Я использовал эту библиотеку github.
Как я понял, я застрял на расширении gmp. Когда я открывал phpinfo (), я не увидел там gmp. Я установил gmp, используя sudo yum install php-gmp
, а также я вижу файл в php.d с именем 20-gmp.ini, и он включает extension=gmp
. Также перезапустил сервер Apache, используя sudo apachectl stop
, sudo apachectl start
.
Но все равно я получаю ошибку. И я не вижу gmp в phpinfo ().
notificationb.php
<?php
require __DIR__ . '/vendor/autoload.php';
use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;
$subscription = Subscription::create(json_decode(file_get_contents('php://input'), true));
print_r($subscription);
$auth = array(
'VAPID' => array(
'subject' => 'https://github.com/Minishlink/web-push-php-example/',
'publicKey' => file_get_contents(__DIR__ . '/scripts/keys/public_key.txt'), // don't forget that your public key also lives in app.js
'privateKey' => file_get_contents(__DIR__ . '/scripts/keys/private_key.txt'), // in the real world, this would be in a secret file
),
);
$webPush = new WebPush($auth);
$res = $webPush->sendNotification(
$subscription,
"Welcome to Kaya. You can book Appointments and many more."
);
foreach ($webPush->flush() as $report) {
$endpoint = $report->getRequest()->getUri()->__toString();
if ($report->isSuccess()) {
echo "[v] Message sent successfully for subscription {$endpoint}.";
} else {
echo "[x] Message failed to sent for subscription {$endpoint}: {$report->getReason()}";
}
}
?>
Если вам что-то понадобится, дайте мне знать в команде. Я буду обновлять здесь.
Редактировать 1: Также я пытался добавить расширение gmp в php.ini
в /etc/php.ini
, но все еще не добавлено.
Мне кажется, я получаю сообщение об ошибке $subscription = Subscription::create(json_decode(file_get_contents('php://input'), true));