杰瑞科技汇

ThinkPHP安装教程,新手如何快速上手?

ThinkPHP 安装与入门完整教程

ThinkPHP 是一个开源的、快速、简单的面向对象的轻量级 PHP 开发框架,遵循 Apache2.0 协议发布,它使用面向对象的开发结构和 MVC 模式,让 Web 应用开发更简单、更快速。

ThinkPHP安装教程,新手如何快速上手?-图1
(图片来源网络,侵删)

本教程将带你一步步完成 ThinkPHP 8.x 版本的安装和配置。


第一步:环境准备

在开始之前,请确保你的开发环境满足 ThinkPHP 的基本要求。

PHP 环境

ThinkPHP 8.x 需要 PHP 8.0 或更高版本,你可以通过命令行检查你的 PHP 版本:

php -v

如果版本低于 8.0,请先升级你的 PHP 环境。

ThinkPHP安装教程,新手如何快速上手?-图2
(图片来源网络,侵删)

PHP 扩展

ThinkPHP 需要一些核心的 PHP 扩展才能正常运行,请确保以下扩展已安装并启用:

  • php-fpm (推荐用于 Web 服务器)
  • pdo & pdo_mysql (用于数据库连接)
  • mbstring (用于多字节字符串处理)
  • curl (用于网络请求)
  • json (JSON 数据处理)
  • fileinfo (用于文件类型检测)

你可以通过 php -m 命令来查看已安装的扩展。

Web 服务器

  • Nginx (推荐): 配置简单,性能优秀。
  • Apache: 传统选择,配置也很成熟。

数据库

  • MySQL 5.7+MariaDB 10.2+ (ThinkPHP 主要使用 PDO 进行数据库操作,因此也支持其他兼容的数据库)。

开发工具

  • 代码编辑器: VS Code, PhpStorm, Sublime Text 等。
  • 包管理器: Composer,这是 PHP 项目的依赖管理工具,安装 ThinkPHP 必须使用 Composer

第二步:安装 Composer

如果你还没有安装 Composer,请务必先完成这一步。

  1. 下载 Composer 安装脚本 打开终端(Windows 下是 CMD 或 PowerShell,macOS/Linux 下是 Terminal),运行以下命令:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  2. 运行安装脚本

    php composer-setup.php
  3. 移动 Composer 到全局路径

    • Windows: 将 composer.phar 文件移动到你的 PHP 安装目录下的 php.exe 同级目录,然后将该目录添加到系统的 PATH 环境变量中。
    • macOS / Linux: 运行以下命令,它会自动将 Composer 移动到 /usr/local/bin 目录下,使其在全局可用。
      sudo mv composer.phar /usr/local/bin/composer
  4. 验证安装 在终端中输入以下命令,如果看到 Composer 的版本信息,说明安装成功。

    composer --version

第三步:使用 Composer 创建 ThinkPHP 项目

ThinkPHP 官方提供了 Composer 包,我们可以用它来快速创建一个标准的项目骨架。

  1. 进入你的 Web 根目录 通常这是你 Web 服务器配置的网站主目录,

    • Nginx: /usr/share/nginx/html
    • Apache: /var/www/html
    • 本地开发: D:/www/home/www
  2. 运行安装命令 在终端中,执行以下命令来创建一个名为 myapp 的新项目:

    composer create-project topthink/think myapp
    • topthink/think: 这是 ThinkPHP 框架在 Packagist (PHP 的包仓库) 上的官方包名。
    • myapp: 你想创建的项目文件夹名称,你可以自定义它。
  3. 等待安装完成 Composer 会自动下载 ThinkPHP 框架本身以及所有必需的依赖包,这个过程可能需要几分钟,具体取决于你的网络速度。


第四步:配置 Web 服务器

创建好项目后,你需要配置 Web 服务器,让它能够正确地访问你的 ThinkPHP 项目,这里分别提供 Nginx 和 Apache 的配置示例。

Nginx 配置

在 Nginx 的配置文件中(通常在 /etc/nginx/sites-available/ 目录下),添加一个 server 块:

server {
    listen 80;
    server_name your_domain.com; # 替换成你的域名或 IP 地址
    root /path/to/your/myapp/public; # 指向项目的 public 目录
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000; # 指向你的 php-fpm 地址和端口
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

关键点:

  • root 必须指向项目的 public 目录,而不是项目根目录,这是 ThinkPHP 的安全入口。
  • try_files 指令是实现 URL 重写的关键,它会将所有非文件请求转发给 index.php 处理。

配置完成后,重载 Nginx 配置:

sudo nginx -s reload

Apache 配置

  1. 启用 mod_rewrite 模块 在终端中运行:

    sudo a2enmod rewrite

    然后重启 Apache:

    sudo systemctl restart apache2
  2. 创建或修改 .htaccess 文件 ThinkPHP 已经在 public 目录下提供了一个 .htaccess 文件,内容如下:

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

    这个文件的作用和 Nginx 的 try_files 类似,用于将 URL 重写。

  3. 配置 Apache 的虚拟主机 在 Apache 的配置文件中(通常在 /etc/apache2/sites-available/ 目录下),添加一个 VirtualHost 块:

    <VirtualHost *:80>
        ServerAdmin webmaster@your_domain.com
        DocumentRoot /path/to/your/myapp/public # 指向项目的 public 目录
        ServerName your_domain.com # 替换成你的域名或 IP 地址
        <Directory /path/to/your/myapp/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

    关键点:

    • DocumentRoot 必须指向 public 目录。
    • <Directory> 块中的 AllowOverride All 是允许 .htaccess 文件生效的关键。

    配置完成后,启用站点并重启 Apache:

    sudo a2ensite your_site.conf # 假设配置文件名为 your_site.conf
    sudo systemctl restart apache2

第五步:配置数据库和访问项目

Web 服务器已经配置好了,我们需要配置数据库连接信息。

  1. 创建数据库 登录到你的 MySQL/MariaDB,为你的新项目创建一个数据库:

    CREATE DATABASE thinkphp CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  2. 配置数据库连接 打 ThinkPHP 项目的根目录 /myapp,找到 .env 文件,这个文件用于存放环境变量,包括数据库配置。

    [APP]
    DEBUG = true
    [DATABASE]
    TYPE = mysql
    HOSTNAME = 127.0.0.1
    DATABASE = thinkphp # 替换成你刚刚创建的数据库名
    USERNAME = root     # 替换成你的数据库用户名
    PASSWORD =          # 替换成你的数据库密码
    HOSTPORT = 3306
    CHARSET = utf8mb4
    DEBUG = true

    修改上述配置,使其与你的数据库信息一致。

  3. 访问项目 打开你的浏览器,访问你配置的域名或 IP 地址。

    • 如果一切正常,你应该能看到 ThinkPHP 欢迎页面,页面标题为 "ThinkPHP 8.0"。
    • 如果看到错误页面,请检查:
      • Web 服务器是否指向了 public 目录。
      • .env 文件中的数据库配置是否正确。
      • PHP 的 pdo_mysql 扩展是否已启用。

第六步:项目结构初探

成功运行后,简单了解一下项目的核心目录结构,这对你后续开发至关重要:

myapp/
├── app/              # 应用目录
│   ├── controller/   # 控制器目录
│   ├── model/        # 模型目录
│   └── view/         # 视图目录
├── config/           # 配置文件目录
├── extend/           # 扩展类库目录
├── public/           # Web 可访问目录(入口文件)
├── route/            # 路由定义目录
├── runtime/          # 应用的运行时目录(日志、缓存等)
├── vendor/           # Composer 依赖目录
├── .env              # 环境配置文件
├── composer.json     # Composer 配置文件
└── think             # 命令行工具入口文件

恭喜你!你已经成功地安装并运行了你的第一个 ThinkPHP 项目,接下来的步骤就是学习 ThinkPHP 的核心概念,如:

  • 路由: 如何定义 URL 和控制器方法的映射关系。
  • 控制器: 如何处理用户请求并返回响应。
  • 模型: 如何与数据库进行交互。
  • 视图: 如何渲染数据并展示给用户。

ThinkPHP 的官方文档写得非常详尽,是深入学习最好的资源,祝你好运!

分享:
扫描分享到社交APP
上一篇
下一篇