我正在使用Laravel框架。AWS SNS 服务在附加的链接的帮助下使用并安装了我项目中的所有 requiremnet。
https://www.kerneldev.com/2018/01/03/send-sms-in-laravel-using-aws-sns/
但得到 cURL 错误 28:连接在 1001 毫秒后超时(请参阅 http://curl.haxx.se/libcurl/c/libcurl-errors.html(
删除了旧的访问密钥和私有密钥,并在 AWS 控制台中添加了新的访问密钥和私有密钥,并在 config/AWS 中更改了密钥.php
在 DNS 设置中添加了所有 TXT 和 DKIM 记录
创建的网络路由
Route::get('/sendSMS/{phone_number}', 'SMSController@sendSMS');
创建的控制器
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AWS;
class SMSController extends Controller
{
protected function sendSMS($phone_number){
$sms = AWS::createClient('sns');
$sms->publish([
'Message' => 'Hello, This is just a test Message',
'PhoneNumber' => $phone_number,
'MessageAttributes' => [
'AWS.SNS.SMS.SMSType' => [
'DataType' => 'String',
'StringValue' => 'Transactional',
]
],
]);
}
}
在CurlFactory.php.
中将CURLOPT_TIMEOUT_MS
替换为CURLOPT_CONNECTTIMEOUT
$conf[CURLOPT_CONNECTTIMEOUT] = $options['timeout'] * 10000;
这是我的工作,试试吧。
我找到了此错误的解决方案
增加 CurlFactory 中的CURLOPT_TIMEOUT_MS超时.php
$timeoutRequiresNoSignal |= $options['timeout'] < 1;
$conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 10000;
试试这个