第一章 申请服务器资源

创建新浪云计算应用

申请账号

我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境。 申请地址为:

http://www.sinacloud.com/

直接点击上述网址,可以看到右上角微博登录的链接。

ES服务器资源评估 服务器资源申请_sae

点击进入之后,使用新浪微博账号登录 

ES服务器资源评估 服务器资源申请_微信_02

登录之后,按照提示注册个人信息即可。 

 

创建新应用  

控制台 ,再选择 云应用SAE 。

ES服务器资源评估 服务器资源申请_sae_03

进入SAE应用列表

ES服务器资源评估 服务器资源申请_sae_04

创建新应用,这时会弹出提示, 禁止放置违法违规内容,点击继续创建,弹出如下窗口。

ES服务器资源评估 服务器资源申请_php_05

开发语言选择PHP,运行环境为标准环境,语言版本5.3。二级域名自己想一个名字,也可以就直接用自己的QQ号。应用名称可以用系统默认填的。

创建应用

 

ES服务器资源评估 服务器资源申请_sae_06

应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的1354386063这个应用。

ES服务器资源评估 服务器资源申请_微信_07

 

创建版本  

点击刚才创建的应用名称,进入应用主页。

应用管理下面的代码管理,

ES服务器资源评估 服务器资源申请_微信_08

 

SVN托管的方式。不要使用云空间和Git的方式!

ES服务器资源评估 服务器资源申请_ES服务器资源评估_09

跳转到代码管理

ES服务器资源评估 服务器资源申请_服务器_10

点击右侧的“创建版本”

ES服务器资源评估 服务器资源申请_sae_11

找回密码,重新设置一下。:

ES服务器资源评估 服务器资源申请_微信_12

验证通过之后,如下所示

ES服务器资源评估 服务器资源申请_服务器_13

http://1354386063.sinaapp.com/ 的应用了,记住你的这个URL,后面将会用到。

上传代码  

下述代码是一个微信接口文件,看不懂没有关系,你可以暂时不用弄明白它的意思。

<?php
 /*
     方倍工作室 
     CopyRight 2013 www.fangbei.org  All Rights Reserved
 */
 header('Content-type:text');
 define("TOKEN", "weixin");
 $wechatObj = new wechatCallbackapiTest();
 if (isset($_GET['echostr'])) {
     $wechatObj->valid();
 }else{
     $wechatObj->responseMsg();
 }


 class wechatCallbackapiTest
 {
     public function valid()
     {
         $echoStr = $_GET["echostr"];
         if($this->checkSignature()){
             header('content-type:text');
             echo $echoStr;
             exit;
         }
     }


     private function checkSignature()
     {
         $signature = $_GET["signature"];
         $timestamp = $_GET["timestamp"];
         $nonce = $_GET["nonce"];


         $token = TOKEN;
         $tmpArr = array($token, $timestamp, $nonce);
         sort($tmpArr, SORT_STRING);
         $tmpStr = implode( $tmpArr );
         $tmpStr = sha1( $tmpStr );


         if( $tmpStr == $signature ){
             return true;
         }else{
             return false;
         }
     }


     public function responseMsg()
     {
         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];


         if (!empty($postStr)){
             $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
             $fromUsername = $postObj->FromUserName;
             $toUsername = $postObj->ToUserName;
             $keyword = trim($postObj->Content);
             $time = time();
             $textTpl = "<xml>
                         <ToUserName><![CDATA[%s]]></ToUserName>
                         <FromUserName><![CDATA[%s]]></FromUserName>
                         <CreateTime>%s</CreateTime>
                         <MsgType><![CDATA[%s]]></MsgType>
                         <Content><![CDATA[%s]]></Content>
                         <FuncFlag>0</FuncFlag>
                         </xml>";
             if($keyword == "?" || $keyword == "?")
             {
                 $msgType = "text";
                 $contentStr = date("Y-m-d H:i:s",time());
                 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                 echo $resultStr;
             }
         }else{
             echo "";
             exit;
         }
     }
 }
 ?>

代码下载地址:点击