okn/laravel-ovh-sms

为Laravel提供的OVH短信服务包装器

dev-master 2021-05-13 08:21 UTC

This package is auto-updated.

Last update: 2024-09-13 15:37:58 UTC


README

简介

此包是为Laravel 5+提供的OVH短信服务的非官方包装器。

该项目使用了php-ovh api (https://github.com/ovh/php-ovh) - v2.0.1。

安装

  1. 使用Composer安装包
composer require okn/laravel-ovh-sms
  1. 仅适用于Laravel版本 < 5.5
    config/app.php中添加服务提供者和类别名以支持外观支持
'providers' => [
	// ...
	Okn\OvhSms\OvhSmsServiceProvider::class
];

'aliases' => [
   	// ...
   	'OvhSms' => Okn\OvhSms\Facades\OvhSms::class
];
  1. 运行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

用法

默认用法

  1. 创建消息
$sms = OvhSms::createMessage('This my sms. Can you read it ?');
  1. 发送消息
$smsStatus = $sms->send(['+xxxxxxxxxxx']);

限制要发送的短信部分

$sms->limitParts(1)->send(['+xxxxxxxxxxx']);

如果短信部分的估计数量大于您定义的限制,这将引发异常。

异常

cURL错误60:SSL证书问题...
cURL需要SSL证书才能通过https协议通信。

解决方案1(推荐)

在本地机器上安装SSL证书

假设您正在使用Windows上的WAMP

  • https://curl.haxx.se/ca/cacert.pem下载您的本地服务器的SSL证书
  • 将其放在您喜欢的目录中(我的目录是C:\Users\[MY-USERNAME]\cacert.pem
  • 编辑此变量在您的php.ini中,以添加证书的路径
curl.cainfo = "C:\Users\[MY-USERNAME]\cacert.pem"
  • 重新启动您的web服务器

现在它应该可以工作了,如果不起作用,您可以尝试下一个解决方案。

解决方案2

禁用SSL验证(不推荐)

.env文件中,您可以添加以下行

OVHSMS_VERIFY_SSL=false