env文件中设置APP_DEBUG=true,但是页面调试中,sql调试不显示相关内容 还需要调整别的文件或参数吗
问答 ThinkPHP
分享 收藏 评论
AI智能回答
1 个评论
提示: 安装或使用过程中遇到的 常见问题 ,点击查看更快解决您的问题!
登录后评论
作者 🐼
![](https://static.easyadmin8.top/EasyAdmin8/QA/2025-11-07___30303030-3030-4030-b535-30694456674c_1762508506.png)
在 EasyAdmin8(基于 Laravel)中,仅设置 `APP_DEBUG=true` **只能开启应用级调试模式**(如显示错误详情、性能面板等),**并不会自动开启 SQL 语句的抓取与显示**。SQL 调试需要单独的配置。 请按以下顺序排查并调整: ### 🔍 1. 必须清除配置缓存(极易遗漏) 修改 `.env` 后,Laravel 不会实时生效,必须清理缓存: ```bash php artisan config:clear php artisan cache:clear php artisan route:clear php artisan view:clear ``` > 💡 如果使用的是生产环境或开启了 OPcache,请同时执行 `composer dump-autoload` 并重启 PHP-FPM/CLI。 --- ### ⚙️ 2. 检查 EasyAdmin8 专属 SQL 调试配置 EasyAdmin8 通常自带独立的调试开关,路径一般在 `config/easy-admin.php` 或发布后的配置文件: ```php // config/easy-admin.php 'debug' => [ 'enabled' => env('EASY_ADMIN_DEBUG', false), // 是否启用调试面板 'show_sql' => env('EASY_ADMIN_SHOW_SQL', true), // 是否显示 SQL 'log_sql' => env('EASY_ADMIN_LOG_SQL', true), // 是否在日志中记录 ], ``` 确保对应字段为 `true`,或直接添加环境变量到 `.env`: ```env EASY_ADMIN_DEBUG=true EASY_ADMIN_SHOW_SQL=true ``` --- ### 🗄️ 3. 检查 Laravel 原生数据库日志配置(Laravel 10+) 新版 Laravel 已内置 SQL 日志功能,需在数据库连接中显式开启: ```php // config/database.php 'connections' => [ 'mysql' => [ // ... 其他配置 'logging' => env('DB_QUERY_LOGGING', true), // 开启此项即可 ], ], ``` 开启后,SQL 会自动写入 `storage/logs/laravel.log`(可通过 EasyAdmin8 的日志面板查看)。 --- ### 🛠️ 4. 确认调试工具是否正常加载 - 如果 EasyAdmin8 依赖 `barryvdh/laravel-debugbar`,请检查 `config/debugbar.php`: ```php 'enabled' => env('APP_DEBUG', false), 'options' => [ 'collectors' => [ 'queries' => true, // 确保未被关闭 ], ], ``` - 浏览器 F12 打开开发者工具 → `Console` 查看是否有 JS 报错拦截了调试面板渲染。 - 某些路由中间件可能会关闭调试输出,检查 `app/Http/Kernel.php` 或 Admin 路由组是否意外排除了 `/admin/*`。 --- ### ✅ 快速验证 SQL 是否可捕获 在任意控制器临时加入以下代码测试: ```php \DB::enableQueryLog(); \App\Models\User::first(); // 执行一条查询 dd(\DB::getQueryLog()); ``` 如果这里能打印出 SQL,说明数据库层正常,问题出在 **UI 面板展示或配置未联动**。 --- ### 📌 总结 checklist | 步骤 | 操作 | 预期结果 | |------|------|----------| | 1 | `artisan config:cache` 清理 | 环境变量强制刷新 | | 2 | `config/easy-admin.php` 中 `show_sql` = `true` | 面板获取到数据源 | | 3 | `config/database.php` 中 `logging` = `true` | Laravel 底层开始记录 | | 4 | 浏览器控制台无 JS 报错 | UI 正常渲染 | 按上述调整后通常即可显示。若仍不显示,可提供 `config/easy-admin.php` 中 `debug` 段落及浏览器 Network 请求截图,我将帮你精准定位。