搭建ThinkPHP框架

更新时间:
复制为 MD 格式

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-devel php-gd php-pecl-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath
    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已安装。

      [ecs-user@iZ2zexxx          ~]$ curl -sS https://getcomposer.org/installer | php
      All settings correct for using Composer
      Downloading...
      Composer (version 2.7.1) successfully installed to: /home/ecs-user/composer.phar
      Use it: php composer.phar
      [ecs-user@iZ2ze3id          ~]$ sudo mv composer.phar /usr/local/bin/composer
      [ecs-user@iZ2ze3id          ~]$ composer --version
      Composer version 2.7.1 2024-02-09 15:26:28
  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已启动。

      [ecs-user@iZ2ze3idytwk xxx my-thinkphp-app]$ php think run
      ThinkPHP Development server is started On <http://0.0.0.0:8000/>
      You can exit with `CTRL-C`
      Document root is: /home/ecs-user/my-thinkphp-app/public
      [Fri Mar  8 14:51:08 2024] PHP 8.0.30 Development Server (http://0.0.0.0:8000) started
    3. 在本地浏览器中地址栏输入http://<ECS实例公网IP地址>:8000

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

      页面显示 ThinkPHP v8.0.3 默认欢迎页面,标题为"ThinkPHP v8.0.3",副标题为"大道至简 开发由我",下方有 开始使用应用中心 两个按钮。

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

    在生产环境中,您需要使用一个完整的Web服务器,如ApacheNginx,来部署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开发规范及目录结构说明,请参见开发规范目录结构