Laravel 默认错误页面在服务器中有所不同 [minimal.blade vsillustrated.blade]
Posted
技术标签:
【中文标题】Laravel 默认错误页面在服务器中有所不同 [minimal.blade vsillustrated.blade]【英文标题】:Laravel default error pages are different in server [minimal.blade vs illustrated.blade] 【发布时间】:2019-08-11 13:36:41 【问题描述】:我已将我的 Laravel 项目从 5.6 升级到 5.8(在我第一次部署之前在我的本地)。
两个 Laravel 版本都是使用相同的 composer.json 安装的 5.8.5
在我的本地中,错误页面(404、503)是图示页面:
vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php
然而,在实时服务器
vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php
是什么原因造成的?我也想用漂亮的“返回”按钮现场展示插图。
尝试了这些但没有运气:(
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear
【问题讨论】:
您是否在本地运行composer update
,提交新的composer.lock
,并在现场运行composer install
?
是的,我在第一次实时部署之前在本地升级了项目
澄清一下,您确实在新的 composer.**lock** 提交后在您的实时服务器上运行了 composer install 吗?我只是想排除一个简单的错误
是的 - 如果我尝试 php artisan --v
它告诉我它在现场和本地都是 5.8.5
你能附上你的resources/views/errors/404.blade.php
吗?
【参考方案1】:
它看起来像 Laravel 5.8 中 vendor/
changed 中的默认 404 错误视图,从图示布局到最小布局,可能是有一个不那么自以为是的默认值。
如果您想恢复以前的视图,我建议您在resources/views/errors/404.blade.php
下创建自己的视图。如果您想显示,可以直接从 5.7 版本复制插图视图:https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Exceptions/views/404.blade.php
图示布局仍然可用,只是不再是默认布局。
复制旧视图本质上与运行php artisan vendor:publish --tag=laravel-errors
并编辑@Constantin 指出的5 行代码相同,但由于最初只有8 行代码,因此您选择哪种方法实际上并不重要。基本思想是相同的:在 resources/
中明确定义您的视图,而不是回退到框架提供的 vendor/
默认值(可能会更改)。
【讨论】:
你为什么要提交更改? @ZaimanNoris 我不知道原因,但我猜他们试图将设计和样式选择排除在框架的默认设置之外。【参考方案2】:也许晚了,但您也可以从 5.8 版本重新发布文件,而无需从 5.7 复制它们或创建新文件:
php artisan vendor:publish --tag=laravel-errors
所有刀片模板都应该在视图/错误下再次可用。
在视图中我只需要改变
@extends('errors::minimal')
进入
@extends('errors::illustrated-layout')
并添加
@section('image')
<div style="background-image: url( asset('/svg/403.svg') );" class="absolute pin bg-cover bg-no-repeat md:bg-left lg:bg-center">
</div>
@endsection
【讨论】:
您可以从这里获取 svg 文件:github.com/laravel/laravel/tree/5.7/public/svg 这应该是公认的答案以上是关于Laravel 默认错误页面在服务器中有所不同 [minimal.blade vsillustrated.blade]的主要内容,如果未能解决你的问题,请参考以下文章