shikiryu / laravel-ovh-sms
为Laravel的OVH短信服务提供包装
dev-master
2021-04-01 14:25 UTC
Requires
- php: >=5.5.0
- illuminate/support: 4.*|5.*|6.*
- ovh/ovh: ^2.0
This package is auto-updated.
Last update: 2024-09-13 22:18:59 UTC
README
简介
此包是为Laravel 5+设计的OVH短信服务的非官方包装器。
此项目使用了php-ovh api (https://github.com/ovh/php-ovh) - v2.0.1。
安装
- 使用composer安装包
composer require okn/laravel-ovh-sms
- 仅适用于Laravel版本 < 5.5
在config/app.php
中添加服务提供者和类别名以支持外观
'providers' => [ // ... Okn\OvhSms\OvhSmsServiceProvider::class ]; 'aliases' => [ // ... 'OvhSms' => Okn\OvhSms\Facades\OvhSms::class ];
- 运行artisan命令安装服务
php artisan ovhsms:install
此命令将创建一个默认的配置文件 config/ovhsms.php
。
配置
应用程序密钥必须在 .env
文件中定义,如下所示
OVHSMS_APP_KEY= OVHSMS_APP_SECRET= OVHSMS_CONSUMER_KEY= OVHSMS_ENDPOINT= OVHSMS_SERVICE_NAME=
为了让这个库与你的项目一起工作,你需要定义同质的路由权限(所有以斜杠结尾或都不以斜杠结尾)。默认配置添加了一个(例如:/sms/*/jobs
变为 /sms/*/jobs/
),因此为了适应你的权限,你可以在你的 .env
文件中添加以下行
OVHSMS_TRAILING_SLASH=false
使用
默认使用
- 创建消息
$sms = OneSignal::createMessage('This my sms. Can you read it ?');
- 发送消息
$smsStatus = $sms->send(['+xxxxxxxxxxx']);
限制要发送的短信部分
$sms->limitParts(1)->send(['+xxxxxxxxxxx']);
如果估计的短信部分数量超过你定义的限制,这将抛出一个异常。
异常
cURL错误60:SSL证书问题...
cURL需要SSL证书才能通过https协议进行通信。
解决方案1(推荐)
在本地机器上安装SSL证书
假设你在Windows上使用WAMP
- 下载你的本地服务器的SSL证书 https://curl.haxx.se/ca/cacert.pem
- 将其放在你喜欢的目录中(我的目录是
C:\Users\[MY-USERNAME]\cacert.pem
) - 编辑你的
php.ini
中的此变量以添加证书路径
curl.cainfo = "C:\Users\[MY-USERNAME]\cacert.pem"
- 重启你的网络服务器
现在它应该可以工作了,如果不起作用,你可以尝试下一个解决方案。
解决方案2
禁用SSL验证(不推荐)
在 .env
文件中,你可以添加以下行
OVHSMS_VERIFY_SSL=false