在 CentOS 上调试 ThinkPHP 的高效流程
一 环境准备与版本核对
php -v 查看版本。若不符,使用 Remi 仓库安装所需版本(如 PHP 8.0/8.1)。示例:sudo yum-config-manager --enable remi-php80 && sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-zip。curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer,随后 composer --version 验证。sudo yum install -y nginx php-fpm && sudo systemctl enable --now nginx php-fpm。二 快速开发调试方案
php think run,默认监听 8000 端口;如需指定端口:php think run -p 8080。浏览器访问 http://<服务器IP>:8000 即可调试。若端口被占用(如 80 被 Apache 占用),可停用占用者或改用其他端口。APP_DEBUG=true,可输出详细错误与调用栈,便于定位问题。三 生产级 Nginx PHP-FPM 调试要点
index.php:
root /path/to/your/project/public;try_files $uri $uri/ /index.php?$query_string;location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi.conf; fastcgi_param PATH_INFO $fastcgi_path_info; }sudo systemctl reload nginx && sudo systemctl reload php-fpm。四 数据库与常见故障排查
.env 或 config/database.php 中正确配置 DB_HOST/DB_NAME/DB_USER/DB_PASS。php-ctype)。echo User::getLastSql(); 或 Db::listen(...),便于定位慢查询与绑定参数问题。var_dump/dd() 或日志记录临时定位。