商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在centos上搭建thinkphp开发环境

如何在centos上搭建thinkphp开发环境

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

在CentOS上搭建ThinkPHP开发环境,其实并不复杂。这篇文章会一步步带你走完整个流程,从系统准备到项目运行,还会附上常见问题的解决办法。话不多说,直接开始。

一、前置准备

首先,确保你的CentOS系统已经更新到最新版本,并且装好了基础开发工具,比如gcc、make这些。这一步很基础,但别跳过——少了它后面会处处碰壁。

如何在centos上搭建thinkphp开发环境

sudo yum update -y
sudo yum groupinstall "Development Tools" -y

二、安装PHP及必要扩展

ThinkPHP 8.x 要求 PHP 版本不低于 8.0,所以我们需要安装 PHP 核心、CLI、FPM,以及常用的扩展(比如 mysqlnd、gd、mbstring 等)。推荐通过 Remi 仓库来安装,它能提供最新的 PHP 版本,省心很多。

  1. 先添加 EPEL 和 Remi 仓库:
    sudo yum install epel-release -y
    sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
    # CentOS 7
    # CentOS 8 需替换为对应 Remi 仓库地址
  2. 启用 PHP 8.0 仓库(以 8.0 为例,如果要用 8.1 或 8.2 可以对应替换):
    sudo yum-config-manager --enable remi-php80
  3. 安装 PHP 及扩展:
    sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl php-bcmath -y
  4. 启动 PHP-FPM 并设置开机自启:
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
  5. 验证 PHP 版本:
    php -v
    输出应该能看到 PHP 8.x 的版本信息,到这步就算装好了。

三、安装Web服务器(以Nginx为例)

ThinkPHP 需要 Web 服务器来处理 HTTP 请求,Nginx 是首选方案——高性能、轻量级,配置也简单。

  1. 安装 Nginx:
    sudo yum install nginx -y
  2. 启动 Nginx 并设置开机自启:
    sudo systemctl start nginx
    sudo systemctl enable nginx
  3. 验证 Nginx 运行状态:在浏览器里输入服务器的 IP 地址,如果看到 Nginx 的欢迎页面,那就说明安装成功了。

四、配置Web服务器支持PHP

1. 配置Nginx解析PHP

编辑 Nginx 的默认站点配置文件(或者新建一个自定义配置):

sudo vi /etc/nginx/conf.d/thinkphp.conf

添加以下内容,记得把 /path/to/your/thinkphp/project 换成你项目的实际路径:

server {
    listen 80;
    server_name your_domain.com; # 替换为域名或IP
    root /path/to/your/thinkphp/project/public; # ThinkPHP项目public目录
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string; # 路由重写,支持PATHINFO
    }

    location ~ .php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock; # 与PHP-FPM通信
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

    location ~ /.ht {
        deny all; # 禁止访问.htaccess文件
    }
}
  1. 测试 Nginx 配置语法:
    sudo nginx -t
    如果输出 syntax is ok,就重启 Nginx 让配置生效:
    sudo systemctl restart nginx

五、安装Composer(PHP依赖管理工具)

ThinkPHP 项目依赖 Composer 来管理,安装步骤如下:

  1. 安装 Composer 依赖:
    sudo yum install unzip git -y
  2. 下载并安装 Composer:
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
  3. 验证 Composer 安装:
    composer --version
    能看到版本号就说明装好了。

六、部署ThinkPHP项目

  1. 进入项目目录:
    cd /path/to/your/thinkphp/project
  2. 使用 Composer 创建 ThinkPHP 项目(以 ThinkPHP 8.x 为例):
    composer create-project topthink/think your-project-name
    或者把现有的项目上传到 /path/to/your/thinkphp/project 目录。
  3. 配置数据库连接:编辑项目根目录下的 .env 文件(或者 config/database.php),修改以下参数:
    DB_TYPE=mysql
    DB_HOST=127.0.0.1
    DB_NAME=your_database_name
    DB_USER=your_database_user
    DB_PASSWORD=your_database_password
    DB_PORT=3306
    DB_PREFIX=tp_ # 表前缀(可选)

七、配置数据库

  1. 安装 MySQL/MariaDB:
    sudo yum install mysql-server -y
  2. 启动 MySQL 并设置开机自启:
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  3. 获取 root 用户临时密码:
    sudo grep 'temporary password' /var/log/mysqld.log
  4. 登录 MySQL 并修改 root 密码:
    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword'; # 替换为强密码
  5. 创建数据库和用户:
    CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'your_database_user'@'localhost' IDENTIFIED BY 'your_database_password';
    GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'localhost';
    FLUSH PRIVILEGES;
  6. 退出 MySQL:
    EXIT;

八、设置权限与启动项目

  1. 设置项目目录权限,避免权限问题导致无法访问:
    sudo chown -R nginx:nginx /path/to/your/thinkphp/project
    # CentOS 7默认Nginx用户为nginx
    sudo chmod -R 755 /path/to/your/thinkphp/project
  2. 启动 ThinkPHP 内置服务器(仅开发环境使用):
    cd /path/to/your/thinkphp/project
    php think run
    在浏览器里访问 http://your_server_ip:8000,如果看到 ThinkPHP 的欢迎页面,那就说明部署成功了。

九、常见问题排查

  • 502 Bad Gateway:检查 PHP-FPM 是否运行(sudo systemctl status php-fpm),确认 Nginx 配置中的 fastcgi_pass 路径与 PHP-FPM 监听路径一致(通常是 /run/php-fpm/www.sock)。
  • 路由失效:确保 Nginx 配置中包含 try_files $uri $uri/ /index.php?$query_string;,而且项目 public/.htaccess 文件没有被删除(如果用的是 Apache 的话)。
  • Composer 安装慢:配置国内镜像加速,比如阿里云镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,速度会快很多。
本文转载于:https://www.yisu.com/ask/19248324.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注