阅读量:0
一、前置准备
确保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版本):
- 添加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仓库地址 - 启用PHP 8.0仓库(以8.0为例,可根据需求替换为8.1/8.2):
sudo yum-config-manager --enable remi-php80 - 安装PHP及扩展:
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl php-bcmath -y - 启动PHP-FPM并设置开机自启:
sudo systemctl start php-fpm sudo systemctl enable php-fpm - 验证PHP版本:
输出应包含PHP 8.x版本信息。php -v
三、安装Web服务器(以Nginx为例)
ThinkPHP需Web服务器处理HTTP请求,推荐使用Nginx(高性能、轻量级):
- 安装Nginx:
sudo yum install nginx -y - 启动Nginx并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx - 验证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文件
}
}
- 测试Nginx配置语法:
若输出sudo nginx -tsyntax is ok,则重启Nginx使配置生效:sudo systemctl restart nginx ```。
五、安装Composer(PHP依赖管理工具)
ThinkPHP项目依赖Composer管理,安装步骤如下:
- 安装Composer依赖:
sudo yum install unzip git -y - 下载并安装Composer:
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer - 验证Composer安装:
输出应显示Composer版本信息。composer --version
六、部署ThinkPHP项目
- 进入项目目录:
cd /path/to/your/thinkphp/project - 使用Composer创建ThinkPHP项目(以ThinkPHP 8.x为例):
或将现有项目上传至composer create-project topthink/think your-project-name/path/to/your/thinkphp/project目录。 - 配置数据库连接:
编辑项目根目录下的.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_ # 表前缀(可选) ```。
七、配置数据库
- 安装MySQL/MariaDB:
sudo yum install mysql-server -y - 启动MySQL并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld - 获取root用户临时密码:
sudo grep 'temporary password' /var/log/mysqld.log - 登录MySQL并修改root密码:
mysql -u root -p ALTER 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; - 退出MySQL:
EXIT; ```。
八、设置权限与启动项目
- 设置项目目录权限(避免权限问题导致无法访问):
sudo chown -R nginx:nginx /path/to/your/thinkphp/project # CentOS 7默认Nginx用户为nginx sudo chmod -R 755 /path/to/your/thinkphp/project - 启动ThinkPHP内置服务器(仅开发环境使用):
浏览器访问cd /path/to/your/thinkphp/project php think runhttp://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/)。
以上就是关于“如何在centos上搭建thinkphp开发环境”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm