阿里雲短信原生sdk 解決 Uncaught Error: Class ‘Aliyun\Core\Config’ not found 問題

原文鏈接:https://blog.csdn.net/qq_38125058/article/details/79162045

之前是直接composer安裝的阿里大魚,沒有發現問題。現在下了阿里的原生的短信sdk,報錯Uncaught Error: Class ‘Aliyun\Core\Config’ not found,解決方法如下

阿里雲短信服務
一:使用阿里雲的短信服務

① 申請短信簽名
②申請短信模板
③創建Access Key,獲取AccessKeyId 與 AccessKeySecret。(爲了安全起見,這裏建議使用子用戶的Access Key)

下載阿里雲短信服務的SDK包,https://help.aliyun.com/document_detail

然後,下載阿里雲短信服務的SDK包,https://help.aliyun.com/document_detail

 

在項目的app目錄下新建Libs文件夾,將上圖的兩個SDK包放入Libs下。

項目根目錄找到composer.json文件,打開,修改配置如下

緊接着在項目根目錄執行:composer dumpautoload
引入這兩個SDK包。

最後,

<?php
    namespace App\Http\Controllers;

    use Aliyun\Core\Config;
    use Aliyun\Core\Profile\DefaultProfile;
    use Aliyun\Core\DefaultAcsClient;
    use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
    use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;
    // 加載區域結點配置
    Config::load();
    ...

     public function __construct($accessKeyId="6456457897447",$accessKeySecret="66666664444444")
        {
        //    $this->sms=$sms;

             // 短信API產品名
             $product = "Dysmsapi";
            // 短信API產品域名
            $domain = "dysmsapi.aliyuncs.com";
            // 暫時不支持多Region
            $region = "cn-hangzhou";
            // 服務結點
            $endPointName = "cn-hangzhou";
            // 初始化用戶Profile實例
            $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
            // 增加服務結點
            DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);
            // 初始化AcsClient用於發起請求
            $this->acsClient = new DefaultAcsClient($profile);
        }

        ...

        //具體實現方法
        function getCode($phoneNumbers="1********7",$signName="****",$templateCode="SMS_55555555",$outId=null){
           // 初始化SendSmsRequest實例用於設置發送短信的參數
           $request = new SendSmsRequest;
           // 必填,設置雉短信接收號碼
           $request->setPhoneNumbers($phoneNumbers);
           // 必填,設置簽名名稱
           $request->setSignName($signName);
           // 必填,設置模板CODE
           $request->setTemplateCode($templateCode);
           $num = rand(100000,999999);
           // 可選,設置模板參數
           $request->setTemplateParam(json_encode(
               Array(
                   "code" => "$num"
               )
           ));
           // 可選,設置流水號
           if($outId) {
               $request->setOutId($outId);
           }
           // 發起訪問請求
           $acsResponse = $this->acsClient->getAcsResponse($request);        
        }

   

調用以上getCode方法,即可發送短信驗證碼。
————————————————
版權聲明:本文爲CSDN博主「止喜」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38125058/article/details/79162045

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章