问题描述
因此,我试图在PHP中设置推送通知服务,并且正在使用MinishLink的web-push-PHP库。但是出于某种未知的原因(对我而言),它把我丢了Class 'Minishlink\WebPush\WebPush' not found
。
我没有做任何不同的事情(或现在很想做),只是遵循了repo's README.md中提到的所有步骤。
在底部有常见问题解答,并且也说明了此问题(我在几个小时后才发现它:(),并建议添加require __DIR__ . '/path-to-my-vendor/autoload.PHP';
。但是它不起作用。
回购中的示例代码(同样,这也是我想尝试的,只是设置网络推送!)
require __DIR__ . '/../vendor/autoload.PHP';
use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;
// here I'll get the subscription endpoint in the POST parameters
// but in reality,you'll get this information in your database
// because you already stored it (cf. push_subscription.PHP)
$auth = array(
'vapid' => array(
'subject' => 'https://github.com/Minishlink/web-push-PHP-example/','publicKey' => file_get_contents(__DIR__ . '/../keys/public_key.txt'),// don't forget that your public key also lives in app.js
'privateKey' => file_get_contents(__DIR__ . '/../keys/private_key.txt'),// in the real world,this would be in a secret file
),);
$webPush = new WebPush($auth);
$subscription = Subscription::create(json_decode(file_get_contents('PHP://input'),true));
$report = $webPush->sendOneNotification(
$subscription,"Hello! ?"
);
// handle eventual errors here,and remove the subscription from your server if it is expired
$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()}";
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)