如何在 laravel 5.4 blade 中找到确切的错误行?
How to find exact error line in laravel 5.4 blade?
我知道 laravel 缓存 blade 文件,当 blade 出现错误时,在 5.3 版本中错误将是这样的:
Undefined offset: 0 (View:b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php) line: 47
然后我可以转到缓存文件并找到确切的行,
但在 5.4 版中 laravel 引用了确切的 blade 文件(不是缓存文件)但没有行号!像这样:
Undefined offset: 0 (View: C:\wamp64\www\project\resources\views\events\partial\event_details_members.blade.php)
in Collection.php (line 1537)
现在如何找到错误?
更新
我知道问题出在哪里,以及如何解决,但我希望 Laravel 自动告诉我是否需要手动查找。如果 blade 文件很大怎么办?
您可以使用 Laravel Debugbar
。这很容易使用。按照下面link你会得到你想要的
从 Laravel 5.7 开始,输出在左侧显示堆栈帧,在右侧显示所选帧的详细信息。如果浏览堆栈,您会发现其中的一个条目是 blade 文件的解析版本(通常位于堆栈底部的 (main)
框架附近)。单击此框架会将您带到导致该异常的 blade 文件的确切行。
找到在 缓存视图文件 .
中引发的错误并非易事
但是如果你的调试模式是关闭并且你很快就会发现它,
我建议执行以下步骤:
我知道这不整洁。
1- 在 ./storage/laravel/log/today.log
中查找错误:
例如:
(b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php) (line : 47)
2-输出文件内容usng cat
:
cat ./storage/framework/view/b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php
(来自错误日志的文件名)
3- 将内容从终端复制到编辑器(从第一行到最后)
4- 你可以找到越野车线。
我知道 laravel 缓存 blade 文件,当 blade 出现错误时,在 5.3 版本中错误将是这样的:
Undefined offset: 0 (View:b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php) line: 47
然后我可以转到缓存文件并找到确切的行,
但在 5.4 版中 laravel 引用了确切的 blade 文件(不是缓存文件)但没有行号!像这样:
Undefined offset: 0 (View: C:\wamp64\www\project\resources\views\events\partial\event_details_members.blade.php)
in Collection.php (line 1537)
现在如何找到错误?
更新
我知道问题出在哪里,以及如何解决,但我希望 Laravel 自动告诉我是否需要手动查找。如果 blade 文件很大怎么办?
您可以使用 Laravel Debugbar
。这很容易使用。按照下面link你会得到你想要的
从 Laravel 5.7 开始,输出在左侧显示堆栈帧,在右侧显示所选帧的详细信息。如果浏览堆栈,您会发现其中的一个条目是 blade 文件的解析版本(通常位于堆栈底部的 (main)
框架附近)。单击此框架会将您带到导致该异常的 blade 文件的确切行。
找到在 缓存视图文件 .
中引发的错误并非易事但是如果你的调试模式是关闭并且你很快就会发现它,
我建议执行以下步骤:
我知道这不整洁。
1- 在 ./storage/laravel/log/today.log
中查找错误:
例如:
(b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php) (line : 47)
2-输出文件内容usng cat
:
cat ./storage/framework/view/b5c0ef4df49585eadd7fc1fa15b2d8a03e8c3bdd.php
(来自错误日志的文件名)
3- 将内容从终端复制到编辑器(从第一行到最后)
4- 你可以找到越野车线。