在ThinkPHP项目的配置文件(如config/app.php或.env文件)中,将APP_DEBUG设置为true,开启调试模式。开启后,页面会显示详细的错误信息(包括堆栈跟踪),同时关闭模板缓存、字段缓存等功能,便于快速定位问题。
dump()函数替代var_dump(),可更友好地输出变量内容(支持格式化、标签、是否显示变量类型等)。例如:dump($variable, true, '变量标签', true);。debug_start('label')和debug_end('label')记录代码段的运行时间及内存占用,帮助定位性能瓶颈。trace('变量名', $variable)在不同位置输出变量值,辅助跟踪数据流向。ThinkPHP的日志文件默认存储在项目目录的runtime/log文件夹下(如app.log、error.log)。可通过以下方式查看与管理日志:
tail -f runtime/log/app.log命令实时监控日志更新;grep '关键词' runtime/log/app.log筛选特定错误信息(如数据库连接失败、SQL语法错误);config/logging.php中调整日志级别(如'log_level' => 'debug')和存储路径,确保关键信息被记录。pecl install xdebug或yum install php-xdebug安装Xdebug扩展;zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1  # 本地调试可设为127.0.0.1,远程调试设为服务器IP
xdebug.remote_port=9003       # 默认端口为9003,需与IDE一致
xdebug.remote_autostart=1     # 自动启动调试
XDEBUG_SESSION_START=1参数),实现单步执行、变量查看等功能。安装barryvdh/laravel-debugbar(适用于ThinkPHP),通过Composer添加依赖:composer require barryvdh/laravel-debugbar --dev。安装后,在config/app.php中注册服务提供者和别名:
'providers' => [
    Barryvdh\Debugbar\ServiceProvider::class,
],
'aliases' => [
    'Debugbar' => Barryvdh\Debugbar\Facade::class,
];
发布配置文件后,Debugbar会显示在页面底部,提供SQL查询、路由信息、配置参数、请求时间等调试信息,无需修改代码即可快速查看。
location块指向PHP-FPM:location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;  # 根据实际PHP版本调整
}
777,推荐755),并确保Web服务器用户(如apache或nginx)拥有目录所有权:sudo chown -R apache:apache /path/to/thinkphp/project
sudo chmod -R 755 /path/to/thinkphp/project
runtime目录(用于存储日志、缓存),需确保Web服务器有写入权限。使用ThinkPHP自带的命令行工具快速调试:
php think run命令启动项目,直接在终端查看输出信息(如路由匹配、控制器执行情况),无需配置Web服务器;php think clear清除缓存(包括路由、配置、视图缓存),解决因缓存导致的调试问题;php think optimize:autoload重新生成自动加载文件,确保类文件被正确加载。