2018-05-18 10:23:06 qq_38378384 阅读数 2078

 个人博客网站文章地址:http://blog.mclink.xyz/index/article/index/id/43.html

 前些时候在学韩大佬的swoole的时候,在登录界面用到了短信验证码登录场景,想到了阿里云的短信服务功能,就使用了一下,效果还可以,基本上2-3s短信就来了,在此记录一下我的使用经历,其实是十分简单的。

一,注册阿里云并且进行登录

 不少人可能在阿里云买过云服务器啥的,如果你已经有对应的账号了,那么更好,这里也可以使用淘宝的账户进行登录,这是阿里云的首页页面。


将鼠标移到产品那里,会弹出一个div,这里其实就是运用了hover而已,这种导航方式还是随处可见的。我们可以在div右边找到云通信对应的短信服务,进行点击。

二、进入短信服务页面,开通使用

进入后,如果有个开通使用,就点击进行服务的开通。开通成功后会显示这样的页面。


那么就进入控制台把。实际上我们需要用到的有五个:1.AccessKey  2.AccessKeySecret 3.签名 4.模板 5.SDK


所以首先你得先获取这三个东西,这里的AK要记得存起来,签名管理和模板管理是需要进行审核的,审核通过才能使用,我这里是已经创建审核通过后的。



这里的东西在接口调用的代码那里会用到,然后我们还需要获取阿里云短信的SDK,在接口调用那里我们选择短信发送API PHP版,进入后,你会发觉人家的文档还是写的十分详细的,不过都是文字版的,我们可以在在那里找到sdk下载。


下载解压后我们暂时只需要这两个文件。你需要把api_sdk放在一个文件夹里,我们会通过代码将其引入进行使用,假如你已经放好了,那么我们可以通过代码调用了,你也可以自己看下阿里提供了api_demo,我们会在它的基础上进行修改以致于符合我们的业务逻辑,例如这样调用:

<?php
namespace app\common\lib\ali;
ini_set("display_errors", "on");

require_once  APP_PATH.'../extend/ali/vendor/autoload.php'; //这里放的是你的api_sdk的位置下的autoload.php

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\SendBatchSmsRequest;
use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;

// 加载区域结点配置
Config::load();

/**
 * Class SmsDemo
 *
 * 这是短信服务API产品的DEMO程序,直接执行此文件即可体验短信服务产品API功能
 * (只需要将AK替换成开通了云通信-短信服务产品功能的AK即可)
 * 备注:Demo工程编码采用UTF-8
 */
class Sms
{

    static $acsClient = null;

    /**
     * 取得AcsClient
     *
     * @return DefaultAcsClient
     */
    public static function getAcsClient() {
        //产品名称:云通信流量服务API产品,开发者无需替换
        $product = "Dysmsapi";

        //产品域名,开发者无需替换
        $domain = "dysmsapi.aliyuncs.com";

        // TODO 此处需要替换成开发者自己的AK (https://ak-console.aliyun.com/)
        $accessKeyId = "你自己的AK"; // AccessKeyId

        $accessKeySecret = "你的AccessKeySecret"; // AccessKeySecret

        // 暂时不支持多Region
        $region = "cn-hangzhou";

        // 服务结点
        $endPointName = "cn-hangzhou";


        if(static::$acsClient == null) {

            //初始化acsClient,暂不支持region化
            $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);

            // 增加服务结点
            DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);

            // 初始化AcsClient用于发起请求
            static::$acsClient = new DefaultAcsClient($profile);
        }
        return static::$acsClient;
    }

    /**
     * 发送短信
     * @return stdClass
     */
    public static function sendSms($phone,$code) {
        

        // 初始化SendSmsRequest实例用于设置发送短信的参数
        $request = new SendSmsRequest();

        //可选-启用https协议
        //$request->setProtocol("https");

        // 必填,设置短信接收号码
        $request->setPhoneNumbers($phone);

        // 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
        $request->setSignName("你的签名名称");

        // 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
        $request->setTemplateCode("你的模板CODE");

        // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项
        $request->setTemplateParam(json_encode(array(  // 短信模板中字段的值
            "code"=>$code,
            "product"=>"dsd"
        ), JSON_UNESCAPED_UNICODE));

        // 可选,设置流水号
        // $request->setOutId("yourOutId");

        // 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
        $request->setSmsUpExtendCode("1234567");

        // 发起访问请求
        $acsResponse = static::getAcsClient()->getAcsResponse($request);

        return $acsResponse;
    }

}

大致说一下代码,这是一个经过改装的demo,结合了TP5,直接调用sendSms,传入电话号码和验证码就可以进行短信的发送了,上面需要你改的有,1.AccessKeyID 2.AccessKeyScerct 3.签名名称 4.模板CODE。对了,还有require的autoload.php一定要跟你放的sdk位置对上。这里的PHP版本要求是5.4以上的。这时候你只要进行调用即可,我的项目调用的方式比较复杂,因为用到了swoole的task池,是通过投递异步任务实现的,具体的操作符合你的业务逻辑即可。

2015-06-23 22:18:40 bjlizhenghai 阅读数 435

构建基于IBM BlueMix的PHP网站

1、  概述

IBM Bluemix是来自 IBM 的最新的云平台即服务(PaaS)产品,基于 Cloud Foundry 开源项目,它使得组织和开发人员能够快速而又轻松地在云上创建、部署和管理应用程序。

PHP是目前应用最为广泛的开发语言之一,Bluemix提供了对PHP的支持,因此我们就可以从PHP入手开发一个普通的网站,达到Bluemix开发应用的Hello world!”级别。

2、 环境要求

在应用IBM Bluemix之前,我们需要保证如下要求:

Ø  可以正确链接Bluemix网站,即www.bluemix.net,如果不能链接,可能是存在DNS问题,因此请在TCP/IP协议中设置DNS中,增加8.8.8.8(说明,笔者以为可能是国内的电信运营商误处理。)

Ø  拥有一个Bluemix的账号,这里笔者就不做赘述,其核心无外乎注册、填写信息、确认等。

Ø  登录系统后,进入正确的区域,目前我们通常使用的是英国,而不是美国南部。

3、 基本过程

开发一个PHP网站还是比较简单的,其基本流程包括五个部分:

Ø  新建一个基于PHPAPP

Ø  下载并安装CF程序包

Ø  下载PHPAPP

Ø  修改PHP文件

Ø  上传应用

Ø  体验应用

4、 详细描述

一、创建应用程序

点击创建应用程序,系统显示出选择哪种应用程序。


选择WEB


选择PHP

点击继续。

输入应用名称,并点击完成。

平台开始打包生成程序,直至完成。

此时点击应用的网址,就可以看到初始的结果。

 

二、下载CF命令行界面

点击下载CF命令行界面。



根据计算机系统配置选择相应版本,例如 Windows 64 bit


下载后进行解压缩,安装。



程序安装时,根据需要设置目录,同时注意,系统会自动设置PATH,也就是在任何地方都可以起动CF.exe文件。例如笔者的安装目录为C:\CF


三、              下载起动器代码,也可以理解为应用的初始代码。

下载的文件是一个RAR文件,可以将其展开到C:\CF下,生成一个子目录C:\qinzheng004php


四、              修改程序代码,例如加上自己的姓名。

打开C:\CF\qizheng004php\index.php 文件,将其中PHP代码增加自己的姓名。




原来:<h1 id = "message"><?php echo "Hello world! "; ?>

修改后:<h1 id = "message"><?php echo "Hello world!<br>李正海"; ?>

保存文件,注意设置文件编码为UTF-8

五、              上传应用

输入CMD 命令,进入DOS环境。

进入应用所在的目录,注意此处指的是应用程序所在文件,即如当前案例,进入的目录就是C:\CF\qizheng004php。

 

按照应用概述中说明,分别执行如下语句:

cf api https://api.eu-gb.bluemix.net

 

cf login -u qinzheng004@163.com -o qinzheng004@163.com -s dev

 

输入用户密码。

输入上传应用命令:

cf push qinzheng004php

六、              查看应用结果

 

                                     李正海

上海万卷信息科技有限公司

邮件:lizhenghai@gmail.com

微信:lizhenghaiV

                                     2015/5/18

 

 

 

 

          


2013-05-31 18:06:34 foruok 阅读数 8141

今天试了下百度云开发平台,使用php建立一个简单的web服务。

基本上参考这个文章《在百度云平台上构建Web App》。

另外发现了一些可能对个人来讲更有意思的功能,你的Web App发布以后,可以通过svn上传非php文件,也可以直接下载。例如你Web App的域名为testapp.duapp.com,那么你通过svn上传了一个文件test.xml,那么你就可以通过http://testapp.duapp.com/test.xml来访问它。这样实际上是一个文件共享的App了,可以实现很多有意思的功能。

不过有一点,流量的收费还没有搞明白,也不明白免费的配额有多少。回头慢慢搞明白这些跟钱相关的事儿。

看起来,个人开发者可以利用百度云平台来实现自己的后端服务,值得尝试。

2018-11-07 21:44:31 zkonly 阅读数 893

今天阿里云服务器促销,特意买了一年的云服务器(便宜嘛)。想着搞个私有云,原计划打算装个samba,谁知道公网IP把445端口给封了,测试了一下午都没有成功,于是在网上找到了owncloud 安装。记录自己的安装过程。

一、搭建LAMP环境

Linux+Apache2+Mysql+PHP
我的阿里云安装的是ubuntu16.04 原版镜像 root用户权限

二、安装Apache2

  1. 在终端窗口输入一下命令:
apt-get update
apt-get install apache2

完成之后在浏览器窗口输入公网IP,弹出apache的测试页面说明apache2安装成功

  1. 创建一个/etc/apache2/sites-available/owncloud.conf 内容如下
Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

然后创建一个符号链接/etc/apache2/sites-enabled

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

将您自己的Cloud目录的所有权暂时更改为HTTP用户

chown -R www-data:www-data /var/www/owncloud/

重启Apache使生效

service apache2 restart

三、安装Mysql

在终端窗口输入以下命令:

apt-get install mysql-server mysql-clilent

按照提示输入密码即可。

四、安装phpmyadmin

  1. 在终端窗输入以下命令:
apt-get install phpmyadmin

在弹出窗口选择apache2,然后选择yes,输入刚刚设置的mysql密码。

  1. 建立Apache2和phpmyadmin的软连接: 在终端窗口输入
 ln -s /usr/share/phpmyadmin /var/www/html

完成之后可以打开浏览器输入:公网IP:/phpmyadmin 会出现以下窗口。
在这里插入图片描述使用之前的设立的密码登录,创建一个owncloud数据库即可。
在这里插入图片描述
五、安装owncloud

添加第三方源:

$ curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add -
$ echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list

使用如下命令进行安装

apt-get update
apt-get install owncloud-file

重启apache2

service apache2 restart

六、完成安装

浏览器访问:http://公网IP/owncloud
创建owncloud管理员用户和配置数据库连接。
如果页面显示如下:
PHP zip 模块未安装。
请联系服务器管理员安装模块。
PHP cURL 模块未安装。
请联系服务器管理员安装模块。
PHP 模块已经安装,但仍然显示未安装?
请联系服务器管理员重启网页服务器。,

在终端输入安装重启apache2即可

apt-get update
apt-get install php7.0-zip php7.0-cURL 
service apache2 restart

在这里插入图片描述
参考了两篇文章:
https://post.smzdm.com/p/551660/
https://blog.csdn.net/qq_36870539/article/details/78186784

2015-09-05 22:33:14 monkey5566 阅读数 131

最近一直在研究亚马逊云,也想尝试建立一个基于亚马逊云的社交网站,所以在这里记录下学习的过程。

应用介绍:能支撑大规模用户使用的社交网站,允许用户上传图片,聊天并进行基本的社交活动。

在整个系统中,会用到亚马逊云的ec2,s3,rds,cludfront,route53,autoscaling,loadbalance。web前台使用html+css+js,后台使用php。

业务层面,将web和server部分部署在ec2上,并向app端提供api接口层。

数据层面,选择rds的mysql作为业务逻辑数据存储数据库,s3作为存储用户上传图片等的文件服务器。

性能层面,会使用autoscaling以及loadbalance来增加系统的横向扩展性,使其可以在项目后期无成本的扩展成支持大规模用户的大型系统。使用cloudfront,route53来做cdn内容缓存与dns域名解析服务,提升网站访问性能。

整个系列文章主要记录亚马逊云端的设计与开发,web网站的设计与开发,app端暂且不讲。

云平台建设学习3

阅读数 507

没有更多推荐了,返回首页