centos

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

小樊
40
2025-09-26 08:38:21
栏目: 编程语言

一、前置准备

确保CentOS系统已更新至最新版本,并安装基础开发工具(如gcc、make等):

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
    
    输出应显示Composer版本信息。

六、部署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欢迎页面则说明部署成功。

九、常见问题排查

0
看了该问题的人还看了