调试 Laravel :如何查找并修复 Laravel 应用程序 中的错误

调试是开发过程的重要组成部分 Laravel,使您能够了解并解决应用程序中的问题。 Laravel 提供各种工具和功能来协助调试,帮助您识别错误的根本原因并解决它们。 这是调试的基本指南 Laravel:

显示错误信息

Laravel 的开发环境配置为在发生错误时显示详细的错误消息。 确保您在开发环境中工作,错误消息将直接显示在浏览器中。

 

使用 dd() 功能

(dump and die)函数 dd() 是在执行期间检查和显示变量、数组或对象的有用工具。 您可以用来 dd() 检查数据并检查其状态。

$data = ['name' => 'John', 'age' => 25];  
dd($data);  

当遇到该 dd() 函数时, Laravel 将停止执行并显示有关 $data 变量的详细信息。

 

利用日志文件

Laravel 提供将信息和错误记录到日志文件中的方法。 info() 您可以使用、 error() 、等 方法 debug() 在执行期间记录日志。 日志文件存储在该 storage/logs 目录中。

 

这是使用文件登录的示例 Laravel

首先,确保 Laravel 配置为记录消息。 打开 .env 文件并确保 LOG_CHANNEL 变量设置为 'daily' or 'stack' (如果尚未设置):

LOG_CHANNEL=daily

在您的代码中,您可以使用 Log 外观来写入日志消息。 这是一个例子

use Illuminate\Support\Facades\Log;  
  
public function example()  
{  
    Log::info('This is an information log message.');  
  
    Log::warning('This is a warning log message.');  
  
    Log::error('This is an error log message.');  
}  

在此示例中,我们使用Facade 的 info()warning()error() 方法 Log 来记录不同类型的消息。 您可以使用这些方法来记录各种日志级别的消息。

默认情况下, Laravel 日志存储在该 storage/logs 目录中。 您可以访问该目录中的日志文件以查看记录的消息。 日志文件按日期组织。

要使用附加上下文或数据写入日志消息,您可以将数组作为第二个参数传递给日志方法。

Log::info('User created', ['user_id' => 1]);

在这种情况下,附加上下文数据(user_id = 1) 将包含在日志消息中

您还可以创建自定义日志通道并在文件中配置它们 config/logging.php。 这允许您分离应用程序不同部分的日志或使用不同的日志存储配置。

 

使用 Laravel Telescope

Laravel Telescope 是一款功能强大、方便的调试工具 Laravel。 它提供了一个用于监视和分析请求、数据库查询、队列等的 Web 界面。 要使用 Telescope,您需要在 Laravel 应用程序中安装并配置它。

 

使用 Xdebug 和调试 IDE

Xdebug 是一种流行的调试工具,用于 Laravel 许多其他 PHP 项目。 通过安装 Xdebug 并将其与 PhpStorm 等调试 IDE 结合使用,您可以跟踪和检查 PHP 代码的执行状态、设置断点、检查变量以及利用其他调试功能。

 

借助上述工具和功能,您可以轻松调试应用 Laravel 程序并排除故障。