ThinkPHP是一款免费、开源、快速、简单、面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷Web应用开发和简化企业应用开发而诞生的。本篇教程介绍如何使用云市场镜像快速搭建ThinkPHP框架。

前提条件

  • 已注册阿里云账号。如还未注册,请先完成账号注册
  • 如需用户通过域名访问您的站点,请确保您已备案域名。如果域名没有备案,购买ECS实例后,请访问阿里云备案中心,进行备案。
  • 已在安全组中添加安全组规则并放行21/21、3306/3306、30000/30010、8081/8081及1777/1777端口。具体操作请参见添加安全组规则

背景信息

本教程适用于正在学习PHP或者已基于ThinkPHP框架进行研发的开发人员。

操作步骤

步骤一:购买ThinkPHP框架镜像

完成以下操作,购买ThinkPHP框架镜像:

  1. 单击ThinkPHP框架(含智慧云虚机面板)进入镜像详情页。
    您可以在镜像详情页获取镜像信息和使用指南。
  2. 单击立即购买
  3. 自定义购买页,镜像区域已自动设置为您购买的镜像。根据页面提示,完成配置项并购买ECS实例。
    配置时需注意:
    • 为实例分配公网IPv4地址。
    • 选择前提条件中已配置的安全组。
    • 其他配置您可以按需选择。具体操作请参见使用向导创建实例
  4. 获取ECS实例的公网IP地址。
    1. 登录ECS管理控制台
    2. 在左侧导航栏,单击实例与镜像 > 实例
    3. 在顶部菜单栏处,选择目标ECS实例所在地域。
    4. 找到目标ECS实例,在IP 地址列获取该实例的公网IP地址。
  5. 在浏览器地址栏中输入公网IP地址并回车。
  6. 在提示页面,单击获取权限,下载权限文档zhcloud-readme.doc
    安装thinkPHP框架
    权限文档中包含了智慧云虚机面板权限(host)、FTP权限和MySQL数据库权限,请妥善保存。权限

步骤二:上传应用程序

如果您已经通过ThinkPHP框架完成了自己的应用程序,可以通过FTP上传您的程序。操作步骤如下:

  1. 下载FTP工具。
    本篇教程以FileZilla FTP为例,通过访问Filezilla中文网,下载FileZilla客户端。
  2. 下载FileZilla后,双击filezilla.exe,开始按软件提示安装FileZilla FTP。
  3. 启动FileZilla FTP,在主机用户名密码处分别输入FTP IP地址、FTP账号和FTP密码。
    相关信息,请参见权限文档zhcloud-readme.doc启动FileZilla
  4. 单击快速连接,开始连接FTP。
  5. 将您已经写好的应用程序拉到右边区域即可实现上传。

步骤三:切换PHP脚本适应程序

由于PHP的版本不同所支持的PHP函数也不尽相同。若您的程序对PHP版本有严格要求,您可以通过脚本切换来切换到您需要的PHP版本。若没有严格要求,可跳过此步骤。

  1. 登录智慧云虚机面板
    登录信息,请参见权限文档zhcloud-readme.doc
    • host url智慧云虚机面板的登录地址。
    • host account智慧云虚机面板的登录账号。
    • host password智慧云虚机面板的登录密码。
    智慧云虚机面板
    登录成功后,如下图所示。登录成功
  2. 单击脚本切换 ,选择您需要的PHP版本,单击确定
    选择PHP版本

步骤四:开启pathinfo

使用ThinkPHP框架写的程序一般会用到pathinfo。若您需要开启pathinfo,请按如下步骤操作:

  1. 登录智慧云虚机面板
  2. 单击PATH_INFO,选择您的站点,单击开启按钮。
    开启pathinfo

步骤五:绑定域名

如果您已经完成了域名备案,您可以在智慧云虚机面板上绑定您的域名。

  1. 登录智慧云虚机面板
  2. 单击域名绑定,输入您的域名即可绑定。
    如果您想禁止IP访问,删除含有IP地址的这条记录即可。绑定域名

常见问题:如何解决301重定向问题?

完成以下操作,在智慧云虚机面板写入301重定向的Nginx规则:

  1. 登录智慧云虚机面板
  2. 单击自定义伪静态 > 自定义,写入301重定向的Nginx规则,单击保存
    自定义伪静态
    下面以域名yjcom.com为例写入301重定向的Nginx规则。
    • 方法 A:不使用www.yjcom.com域名访问网站时都301重定向到www.yjcom.com
      if ($host != ‘www.yjcom.com’ ) {
      rewrite ^/(.*)$ http://www.yjcom.com/$1 permanent;
      }
    • 方法 B:使用yjcom.com域名访问网站时才301重定向到www.yjcom.com
      if ($host = ‘yjcom.com’ ) {
      rewrite ^/(.*)$ http://www.yjcom.com/$1 permanent;
      }
      说明 实际使用时,将以上代码中的域名替换为您自己的域名。