dowy77780 2016-11-25 11:14
浏览 136
已采纳

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

I have a Laravel application in production server that produces exception when rendering the view. The log file printed stacktraces about where the exception happened, but with hashed name of view.

How do I get the original path and the filename of hashed view? Since I can only debug from the error log in the server. For example with this stacktrace, I want to find the original file path and name of 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...')

There are solution that uses laravel debugbar (https://github.com/barryvdh/laravel-debugbar) to help find the related view, but I think this is not a good practice, activate debug mode in production environment.

  • 写回答

1条回答 默认 最新

  • 普通网友 2016-11-25 13:34
    关注

    Laravel stores compiled version file to speed up system execution.

    Once your file is compiled and if you do not make changes into it then laravel direct executes this compiled version and this is how laravel executes fast process work.

    So, displaying original name of file is not feasible.

    Now for the solution, you can comment out your blade file name with <!-- BLADEFILENAME--> into particular file. So while facing any error then you can understand that which file is this.

    Review Reference: Laravel blade debug view name on error

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?