温馨提示×

linux laravel怎么调试

小樊
49
2026-09-22 10:33:32
栏目: 智能运维

在 Linux + Laravel 环境下调试,常见、有效的几种方式如下,按“从入门到进阶”给你整理:


一、最常用:日志调试(0 配置)

1. 使用 logger() / Log

logger('调试信息', ['user_id' => 1]);

或

\Log::info('测试', ['data' => $data]);

查看日志:

tail -f storage/logs/laravel.log

✅ 适合:线上、快速定位


二、页面直接输出(开发环境)

2. dd() / dump()

dd($user);
dump($request->all());
  • dd():die + dump
  • dump():只打印不中断

✅ 适合:控制器、Blade


三、Laravel 自带的调试工具

3. 开启 debug

.env

APP_DEBUG=true

⚠️ 生产环境一定关掉


4. Laravel Telescope(强烈推荐)

composer require laravel/telescope
php artisan telescope:install
php artisan migrate

访问:

/project/telescope

可以看到:

  • 请求
  • SQL
  • 异常
  • 队列
  • 邮件

✅ 开发神器


四、SQL 调试

5. 打印 SQL

DB::enableQueryLog();
// 你的查询
dd(DB::getQueryLog());

或监听:

DB::listen(function ($query) {
    logger($query->sql, $query->bindings);
});

五、Xdebug(真正断点调试)

6. 安装 Xdebug(Linux)

sudo apt install php-xdebug

配置 php.ini:

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes

重启:

sudo service php-fpm restart

配合:

  • VS Code(推荐)
  • PHPStorm

✅ 适合:复杂逻辑、看调用栈


六、Artisan 调试

7. Tinker

php artisan tinker
User::first();

✅ 适合:模型、逻辑验证


七、常见坑提醒

  • storage/logs 没权限
chmod -R 775 storage
  • 缓存问题
php artisan config:clear
php artisan cache:clear

总结(怎么选)

场景 推荐方式
快速看值 dd / dump
线上 Log
SQL QueryLog
全栈调试 Telescope
深入代码 Xdebug

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

  • 用 VS Code 还是 PHPStorm
  • 是 本地还是服务器
  • 卡在哪一步

我可以给你具体配置步骤。

0 踩