不在本地Web服务器上发生,仅在主机PHP 7.1上发生。除了空白的500错误页面,线索,日志中什么也没得到。
我有几个自定义的Blade指令,可用于仅为下载按钮生成HTML,并为中的最后修改日期生成HTML,用于列出大量下载的下载页面。
AppServiceProvider.php中的指令:
Blade::directive('fileDate', function ($file) {
if(file_exists($file)) {
$timestamp = filemtime(str_replace(["'", '"'], "", $file));
return view('components.file-date', ['timestamp' => $timestamp]);
}
return '-';
});
Blade::directive('downloadButton', function($file) {
return view('components.download-button', ['link' => asset(trim($file, "'"))]);
});
它所引用的视图:
file-date.blade.php:
<span class="filedate">{{ date('d/m/Y H:i', $timestamp) }}</span>
download-button.blade.php
<a href="{{ $link }}" class="button secondary">Download</a>
在模板中这样使用:
<td>
@fileDate('media/file1.zip')
@downloadButton('media/file1.zip')
</td>
在另一页上进行单独下载时,它可以很好地工作,但是由于某种原因导致它落在了主下载页面上,我根本无法从错误页面上获得任何信息。
我尝试注释掉部分内容,但只是不想在此特定页面上使用。
有什么建议吗?也许以某种方式可以获取有关该错误的更多信息?据我所知,调试模式已完全启用。
答案 0 :(得分:0)
一些建议:
检查Web服务器日志。您可以在配置文件中的“ error_log”字段中找到日志路径。
此外,如果您使用它,也可以检查php-fpm日志。
并且,laravel框架日志。拒绝storage/logs
最后,您可以使用try catch
,尝试使用“问题代码”并捕获它,然后将其打印或记录到文件中。
答案 1 :(得分:0)
也许您可以尝试在.env文件中打开调试模式,以查看是否可以获得任何有用的错误消息
APP_DEBUG=true