温馨提示×

CentOS ThinkPHP如何安装配置

小樊
46
2025-10-08 23:22:05
栏目: 编程语言

CentOS系统安装配置ThinkPHP详细步骤

一、环境准备:安装基础软件包

在CentOS上部署ThinkPHP前,需先安装Web服务器(Nginx/Apache)、PHP环境及Composer(ThinkPHP的依赖管理工具)。

  • 更新系统包
    sudo yum update -y
    
  • 安装Nginx(以Nginx为例,Apache步骤类似):
    sudo yum install epel-release -y
    sudo yum install nginx -y
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  • 安装PHP及扩展(ThinkPHP 6.x需PHP 7.2+):
    sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-bcmath -y
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    
  • 验证PHP版本
    php -v
    
    确保PHP版本符合ThinkPHP要求(如ThinkPHP 6.x需≥7.2)。

二、安装Composer(ThinkPHP依赖管理工具)

ThinkPHP项目依赖Composer管理,需先全局安装Composer:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

验证安装

composer --version

显示Composer版本号则表示安装成功。

三、部署ThinkPHP项目

1. 创建项目目录

选择项目存放路径(如/var/www/html/thinkphp),并赋予适当权限:

sudo mkdir -p /var/www/html/thinkphp
sudo chown -R nginx:nginx /var/www/html/thinkphp  # 若使用Nginx,用户为nginx
sudo chmod -R 755 /var/www/html/thinkphp
2. 使用Composer创建ThinkPHP项目

进入项目目录,通过Composer创建ThinkPHP项目(以ThinkPHP 6.x为例):

cd /var/www/html/thinkphp
composer create-project topthink/think tp6 --prefer-dist

等待Composer下载并安装依赖(约几分钟)。

四、配置Web服务器(Nginx为例)

ThinkPHP需通过Web服务器访问,需配置Nginx的重写规则以支持PATHINFO(路由功能)。

  • 创建Nginx配置文件
    sudo vim /etc/nginx/conf.d/thinkphp.conf
    
  • 添加以下配置(替换your_domain.com为域名/IP,/var/www/html/thinkphp/tp6/public为项目public目录路径):
    server {
        listen 80;
        server_name your_domain.com;
        root /var/www/html/thinkphp/tp6/public;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/run/php-fpm/www.sock;
            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;
        }
    }
    
  • 测试Nginx配置
    sudo nginx -t
    
    若显示syntax is ok,则重启Nginx:
    sudo systemctl restart nginx
    
Apache配置(可选)

若使用Apache,需启用mod_rewrite模块并创建虚拟主机:

sudo a2enmod rewrite
sudo systemctl restart apache2

虚拟主机配置参考Nginx的try_files规则,确保支持PATHINFO。

五、配置数据库连接

ThinkPHP项目需连接数据库(如MySQL),修改项目配置文件:

  • 进入项目目录
    cd /var/www/html/thinkphp/tp6
    
  • 复制.env.example为.env(隐藏配置文件):
    cp .env.example .env
    
  • 编辑.env文件,修改数据库连接信息(替换为实际值):
    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_
    
创建数据库

登录MySQL,创建数据库和用户:

mysql -u root -p
CREATE DATABASE your_database_name;
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;
EXIT;

六、设置目录权限

确保项目目录权限正确,避免访问错误:

sudo chown -R nginx:nginx /var/www/html/thinkphp/tp6  # Nginx用户
sudo chmod -R 755 /var/www/html/thinkphp/tp6
sudo chmod -R 775 /var/www/html/thinkphp/tp6/runtime  # runtime目录需可写

七、启动项目并访问

  • 启动PHP-FPM(若未启动):
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    
  • 访问项目
    在浏览器输入http://your_domain.com(或服务器IP),若看到ThinkPHP欢迎页面,则部署成功。

常见问题排查

  • 502 Bad Gateway:检查PHP-FPM是否运行(sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径正确(如unix:/run/php-fpm/www.sock)。
  • 路由失效:确保Nginx配置中包含try_files $uri $uri/ /index.php?$query_string;,支持PATHINFO。
  • Composer安装慢:使用国内镜像加速(composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/)。

通过以上步骤,即可在CentOS系统上成功安装配置ThinkPHP项目。

0