Laravel/Lumen调试利器-创新互联
一、效果图
创新互联从2013年创立,是专业互联网技术服务公司,拥有项目网站设计制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元霍尔果斯做网站,已为上家服务,为霍尔果斯各地企业和个人服务,联系电话:13518219792二、功能点:
1.当前请求的路由
2.当前请求的参数
3.当前一次请求运行的SQL,及SQL的运行时间。
上面三点包含我们在本地环境开发过程中必备的基本调式信息。
三、实现:
1.开发运行环境的配置
1.1打开.env文件 增加开关,建议开发环境设置为true,生产环境设置为false APP_DEBUG=true 1.2设置LOG级别 APP_LOG_LEVEL=debug 1.3增加打印sql开关配置 打开config目录的任意配置文件,我这里将配置防到database.php中 'sql_debug' => env('APP_DEBUG'),
2.实现打印请求路由及参数
打开App\Http\Controllers\Controller.php文件 增加构造方法: public function __construct(Request $request) { if (env('APP_DEBUG')) { \Log::debug("\n\n"); \Log::debug('请求路由:' . $request->url()); $requestParameters = $request->all(); if (!empty($requestParameters)) { \Log::debug('请求参数:' . var_export($requestParameters, true)); } else { \Log::debug('请求参数:无'); } } }
3.实现打印运行的SQL语句
打开App\Providers\AppServiceProvider; boot方法中增加DB监听 public function boot() { //sql调试 $sql_debug = config('database.sql_debug');//注意这里获取开关配置 if ($sql_debug) { DB::listen(function ($sql) { foreach ($sql->bindings as $i => $binding) { if ($binding instanceof \DateTime) { $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\''); } else { if (is_string($binding)) { $sql->bindings[$i] = "'$binding'"; } } } $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql); $query = vsprintf($query, $sql->bindings); \Log::debug('运行SQL:' . $query); \Log::debug('运行耗时:' . $sql->time . ' ms'); }); } }
四、验证并使用
终端下进到项目根目录,运行日志追踪命令
tail -f ./storage/logs/laravel.log
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:Laravel/Lumen调试利器-创新互联
地址分享:http://ybzwz.com/article/hdpdd.html