开启调试模式是调试的基础,能显示详细错误信息、关闭模板缓存(修改即时生效)及记录SQL日志。
.env
文件(本地开发环境)设置APP_DEBUG=true
(高于config
文件的优先级);若无.env
文件,可在config/app.php
中添加'app_debug' => true
。dump($variable, true, '标签', true)
函数输出变量内容到浏览器(true
表示返回而非直接输出,标签
用于标识,最后一个true
表示显示类型);debug_start('label')
和debug_end('label')
记录代码段的运行时间及内存占用;trace('变量名', $variable)
在页面Trace中输出变量信息,辅助追踪变量变化。安装Laravel Debugbar(兼容ThinkPHP),在页面底部显示调试工具栏,包含数据库查询、路由信息、配置参数等内容。
composer require barryvdh/laravel-debugbar --dev
(仅开发环境使用);config/app.php
的providers
数组中添加Barryvdh\Debugbar\ServiceProvider::class
,aliases
数组中添加'Debugbar' => Barryvdh\Debugbar\Facade::class
;php think vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
生成配置文件。Xdebug是PHP扩展,支持远程调试(与IDE配合)。
sudo apt install php-xdebug
)或从源码编译;zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1 # IDE所在服务器IP(远程调试时为本地IP)
xdebug.remote_port=9003 # 默认9003,需与IDE一致
xdebug.remote_autostart=1 # 自动启动调试
Settings > PHP > Servers
,添加服务器(名称任意,主机为Linux服务器IP,端口80/443),勾选“Use path mappings”并映射项目目录;然后创建调试配置(Run > Edit Configurations
),选择“PHP Remote Debug”,选择对应服务器即可。config/logging.php
中配置日志级别(如'level' => 'debug'
)和路径(如'path' => '/tmp/thinkphp.log'
),程序运行中的错误、异常会记录到该文件;/var/log/nginx/error.log
)或Apache(/var/log/apache2/error.log
)的错误日志,定位HTTP请求层面的问题(如404、500错误)。php think run
命令在命令行启动ThinkPHP项目,实时查看输出信息(适用于API或命令行脚本调试);composer install
安装依赖时添加--verbose
参数,查看详细安装过程,解决依赖冲突问题。.env
中设置SQL_DEBUG_LOG=true
,开启SQL日志记录,查看执行的SQL语句及执行时间(有助于分析慢查询或SQL语法错误);SHOW_PAGE_TRACE=true
(或在config/app.php
中配置),页面底部会显示Trace信息(包含请求参数、路由、数据库查询等)。以上方法可根据具体场景组合使用(如开发环境用Debugbar+Trace,远程调试用Xdebug+IDE),快速定位ThinkPHP项目中的问题。调试完成后,需关闭调试模式(APP_DEBUG=false
)以避免性能损耗及敏感信息泄露。