Linux下ThinkPHP如何配置
小樊
44
2026-01-04 23:18:49
Linux下 ThinkPHP 配置全流程
一 环境准备
- 安装基础组件:PHP(建议7.4+)、Web 服务器(Nginx/Apache)、数据库(MySQL/MariaDB)、Composer。常见扩展包含:pdo_mysql、mbstring、xml、curl、openssl。
- Ubuntu/Debian 示例:
sudo apt update && sudo apt install -y php php-fpm php-mysql php-mbstring php-xml php-curl nginx composer
- CentOS/RHEL 示例:
sudo yum update -y && sudo yum install -y epel-release
sudo yum install -y php php-fpm php-mysqlnd php-mbstring php-xml php-curl nginx
- 验证:php -v、composer -v、systemctl status nginx/php-fpm。
二 安装与目录准备
- 方式一(推荐):Composer 创建项目
composer create-project topthink tp6 && cd tp6
- 方式二:上传/解压项目到站点目录(如 /var/www/html/your_project)。
- 安装依赖:在项目根目录执行 composer install。
- 目录权限与运行用户:
- 确保可写目录(如 runtime)可写:chmod -R 755 runtime
- 运行用户示例(Debian/Ubuntu 常见为 www-data,CentOS 常见为 nginx):
chown -R www-data:www-data /var/www/html/your_project
- 注意:始终将 Web 访问根目录指向项目的 public 目录。
三 Web 服务器配置
- Nginx 示例(站点配置指向 public,启用 PATH_INFO 重写):
server {
listen 80;
server_name your_domain.com;
root /var/www/html/your_project/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 路径按实际 PHP 版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
启用站点并重启:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
- Apache 要点:启用 mod_rewrite,并确保项目 public/.htaccess 生效,DocumentRoot 指向 public。
- 常见问题速查:
- 502 Bad Gateway:检查 PHP-FPM 是否运行、fastcgi_pass 路径是否匹配。
- 路由 404/失效:确认 Nginx 包含 try_files $uri $uri/ /index.php?$query_string; 规则。
四 框架关键配置
- 数据库连接:优先使用 .env 管理敏感信息(示例为 ThinkPHP 6 风格):
[DATABASE]
TYPE=mysql
HOSTNAME=127.0.0.1
DATABASE=dbname
USERNAME=user
PASSWORD=password
PORT=3306
如使用旧版或数组配置,可在 config/database.php 中设置。
- 运行模式:开发环境可开启调试(如 config/app.php 中 ‘app_debug’ => true),生产环境务必关闭。
- 会话与缓存:生产建议配置 Redis 等缓存/会话驱动以提升性能与可扩展性。
- 安全建议:
- 禁止访问 .env:location ~ /.env { deny all; }
- 仅暴露 public 目录,隐藏框架内部文件。
五 部署优化与常见问题
- 性能与安全:
- 开启 OPcache(生产环境强烈建议)。
- 使用 HTTPS(如 Let’s Encrypt 免费证书)。
- 关闭调试模式,限制敏感文件访问。
- Composer 加速:
- 全局镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 日志与排错:
- 查看 Nginx 错误日志(如 /var/log/nginx/error.log)与 PHP-FPM 日志定位 502/404 等问题。
- 快速验证:访问域名或服务器 IP,确认首页与路由正常。