温馨提示×

ThinkPHP 在 Ubuntu 怎调试

小樊
37
2026-10-07 11:41:08
栏目: 编程语言

在 Ubuntu 上调试 ThinkPHP,一般可以从**环境准备、框架调试模式、日志、断点调试(Xdebug)**几个方面入手。下面按实用程度给你一套完整方案。


一、开启 ThinkPHP 调试模式(最基础)

1. 开启调试模式

编辑项目根目录的 .env(推荐)或 config/app.php

使用 .env(推荐)

APP_DEBUG = true

或修改 config/app.php

'app_debug' => true,

开启后:

  • 页面会显示详细错误信息
  • 会输出 SQL、运行时间等调试信息

二、查看错误和日志

1. 页面直接报错(开发环境)

确保:

  • APP_DEBUG=true
  • PHP 错误显示已开启
// index.php 或入口文件
error_reporting(E_ALL);
ini_set('display_errors', '1');

2. 查看 ThinkPHP 日志

日志路径:

runtime/log/

查看最新日志:

tail -f runtime/log/*/*.log

常见日志级别:

Log::error('错误信息');
Log::debug('调试信息');

三、使用 dump / var_dump 调试

ThinkPHP 自带

dump($data);

或:

halt($data); // 输出并终止

四、使用 Xdebug + VS Code(推荐)

1. 安装 Xdebug(Ubuntu)

sudo apt update
sudo apt install php-xdebug

确认安装:

php -m | grep xdebug

2. 配置 Xdebug(php.ini)

找到 php.ini(通常在 /etc/php/8.x/cli/php.ini 或 fpm)

[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey=VSCODE

重启服务:

sudo service php8.1-fpm restart
# 或
sudo service apache2 restart

3. VS Code 配置

安装插件:PHP Debug

launch.json:

{
  "name": "Listen for Xdebug",
  "type": "php",
  "request": "launch",
  "port": 9003
}

在代码中打断点 → F5 启动调试


五、命令行调试(CLI)

如果是命令行运行:

php think run

调试 CLI:

php -d xdebug.mode=debug think your:command

六、常见问题排查

1. 页面空白

  • 检查 runtime 目录权限
sudo chmod -R 777 runtime

2. 路由不生效

php think route:list

3. 缓存问题

php think clear

七、推荐调试组合(开发环境)

✅ APP_DEBUG=true
✅ tail -f runtime/log
✅ dump() / halt()
✅ Xdebug + VS Code


如果你愿意,可以告诉我:

  • ThinkPHP 版本(5.1 / 6.0 / 8.0)
  • 使用 Apache 还是 Nginx
  • 是 Web 还是 CLI 调试

我可以给你更精确的配置示例。

0 踩