搭建ThinkPHP框架

ThinkPHP是一款遵循Apache2开源协议发布的免费、开源、快速、简单、面向对象的轻量级PHP开发框架,旨在支持敏捷Web应用开发和简化企业应用开发。本文介绍如何在Alibaba Cloud Linux 3/2、CentOS 7.x系统的ECS实例中搭建ThinkPHP 8.0框架。

前提条件

本教程适用于正在学习PHP或者已基于ThinkPHP框架进行开发的开发人员。搭建ThinkPHP框架时,已有ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。

  • 操作系统必须为Alibaba Cloud Linux 3/2、CentOS 7.x。

  • 实例安全组的入方向规则已放行22、8000(ThinkPHP默认端口)、443端口。具体操作,请参见添加安全组规则

操作步骤

  1. 安装PHP 8.0。

    说明

    ThinkPHP 8.0要求PHP版本大于等于8.0。

    1. 当ECS实例操作系统为Alibaba Cloud Linux 3时,需安装openssl10依赖包。

      sudo yum install -y compat-openssl10
    2. 安装PHP。

      Alibaba Cloud Linux 3/2

      1. 运行以下命令,更新YUM源。

        sudo rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
      2. 运行以下命令,启用PHP 8.0仓库。

        sudo yum-config-manager --enable remi-php80
      3. 运行以下命令,安装PHP。

        sudo yum install -y php php-cli php-fpm php-common php-mysqlnd php-gd php-mbstring

      CentOS 7.x

      1. 更新YUM源。

        1. 运行以下命令,安装EPEL源和Remi仓库。

          sudo yum install -y epel-release
          sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
        2. 运行以下命令,启用PHP 8.0仓库。

          sudo yum-config-manager --enable remi-php80
      2. 运行以下命令,安装PHP。

        sudo yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
    3. 运行以下命令,查看PHP版本。

      php -v

      返回结果如下所示,表示安装成功。

      PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08) ( NTS gcc x86_64 )
      Copyright (c) The PHP Group
      Zend Engine v4.0.30, Copyright (c) Zend Technologies           
  2. 安装Composer。

    Composer是一个用于PHP项目依赖管理的工具。它允许开发人员定义和管理项目所需的外部依赖关系,并自动处理这些依赖的安装、更新和加载。更多信息,请参见Composer官网

    1. 安装Composer所需依赖。

      sudo yum install -y unzip git
    2. 安装Composer。

      curl -sS https://getcomposer.org/installer | php
      sudo mv composer.phar /usr/local/bin/composer
    3. 查看Composer版本。

      composer --version

      回显信息类似如下所示时,表示Composer已安装。

      image

  3. 安装ThinkPHP。

    1. 使用Composer创建一个新的ThinkPHP应用程序。

      该命令会在当前目录下创建一个名为my-thinkphp-app的目录,并下载ThinkPHP的核心文件和依赖项。

      composer create-project topthink/think my-thinkphp-app
    2. 切换到新创建的ThinkPHP应用程序目录,启动ThinkPHP内置服务器进行开发。

      cd my-thinkphp-app
      php think run

      回显信息类似如下所示时,表示ThinkPHP已启动。

      image

    3. 在本地浏览器中地址栏输入http://<ECS实例公网IP地址>:8000

      显示如下所示时,表示ThinkPHP已部署成功。

      image

  4. 配置Web服务器(生产环境)。

    在生产环境中,您需要使用一个完整的Web服务器,如Apache或Nginx,来部署ThinkPHP应用。您需要正确配置服务器的URL重写规则以确保框架路由正常工作。

    Apache(确保开启了mod_rewrite模块)配置示例:

    <IfModule mod_rewrite.c>
        Options +FollowSymlinks -Indexes
        RewriteEngine On
    
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>
    

    Nginx配置示例:

    location / {
        if (!-e $request_filename) {
           rewrite  ^(.*)$  /index.php?s=/$1  last;
           break;
        }
    }
    

相关文档

更多ThinkPHP开发规范及目录结构说明,请参见开发规范目录结构