先确认CentOS系统已经更新到最新版本,再安装gcc、make等基础开发工具:

sudo yum update -ysudo yum groupinstall "Development Tools" -yThinkPHP 8.x要求PHP版本≥8.0,需安装PHP核心、CLI、FPM及常用扩展(如mysqlnd、gd、mbstring等)。推荐通过Remi仓库安装(支持最新PHP版本):
sudo yum install epel-release -ysudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y# CentOS 7# CentOS 8需替换为对应Remi仓库地址sudo yum-config-manager --enable remi-php80sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl php-bcmath -ysudo systemctl start php-fpmsudo systemctl enable php-fpmphp -v输出信息中应包含PHP 8.x版本。处理HTTP请求需要为ThinkPHP配备Web服务器,建议选用高性能、轻量级的Nginx:
sudo yum install nginx -ysudo systemctl start nginxsudo systemctl enable nginx站点配置可选择新建自定义文件,也可对Nginx默认文件进行编辑:
sudo vi /etc/nginx/conf.d/thinkphp.conf加入以下内容(将/path/to/your/thinkphp/project替换成项目实际路径):
server {listen 80;server_name your_domain.com;# 替换为域名或IProot /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文件}}sudo nginx -t若输出syntax is ok,则重启Nginx使配置生效:sudo systemctl restart nginx```。ThinkPHP项目通过Composer管理依赖,可按以下步骤安装:
sudo yum install unzip git -ycurl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composercomposer --version输出中应显示Composer版本信息。cd /path/to/your/thinkphp/projectcomposer create-project topthink/think your-project-name也可以把现有项目上传到/path/to/your/thinkphp/project目录中。.env文件(或config/database.php),修改以下参数:DB_TYPE=mysqlDB_HOST=127.0.0.1DB_NAME=your_database_nameDB_USER=your_database_userDB_PASSWORD=your_database_passwordDB_PORT=3306DB_PREFIX=tp_# 表前缀(可选)```。sudo yum install mysql-server -ysudo systemctl start mysqldsudo systemctl enable mysqldsudo grep 'temporary password' /var/log/mysqld.logmysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword';# 替换为强密码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;EXIT;```。sudo chown -R nginx:nginx /path/to/your/thinkphp/project# CentOS 7默认Nginx用户为nginxsudo chmod -R 755 /path/to/your/thinkphp/projectcd /path/to/your/thinkphp/projectphp think run浏览器访问http://your_server_ip:8000,若看到ThinkPHP欢迎页面则说明部署成功。sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径与PHP-FPM监听路径一致(/run/php-fpm/www.sock)。try_files $uri $uri/ /index.php?$query_string;,且项目public/.htaccess文件未被删除(若使用Apache)。composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/)。