在Laravel视图中获取散列名称的原始路径和文件名

时间:2016-11-25 11:14:30

标签: php laravel

我在生产服务器中有一个Laravel应用程序,在渲染视图时会产生异常。打印的日志文件堆栈跟踪异常发生的位置,但是具有散列的视图名称。

如何获取散列视图的原始路径和文件名?因为我只能从服务器中的错误日志进行调试。例如,使用这个堆栈跟踪,我想找到原始文件路径和名称698a6499f344ea0485830fd76f437b7ae1833431.php

ErrorException: Undefined property: stdClass::$balance_perdana in /var/app/current/storage/framework/views/698a6499f344ea0485830fd76f437b7ae1833431.php:44
Stack trace:
#0 /var/app/current/storage/framework/views/698a6499f344ea0485830fd76f437b7ae1833431.php(44): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'Undefined prope...', '/var/app/curren...', 44, Array)
#1 /var/app/current/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(42): include('/var/app/curren...')

有一个解决方案使用laravel debugbar(https://github.com/barryvdh/laravel-debugbar)来帮助查找相关视图,但我认为这不是一个好习惯,在生产环境中激活调试模式。

1 个答案:

答案 0 :(得分:0)

Laravel存储编译的版本文件以加速系统执行。

编译完文件后如果不对其进行更改,则laravel direct会执行此编译版本,这就是laravel执行快速处理工作的方式。

因此,显示文件的原始名称是不可行的。

现在,对于解决方案,您可以将带有<!-- BLADEFILENAME-->的刀片文件名注释到特定文件中。因此,当遇到任何错误时,您可以理解这是哪个文件。

评论参考:Laravel blade debug view name on error