我正在查看Laravel docs的维护模式:

https://laravel.com/docs/5.3/configuration#maintenance-mode

当您执行命令php artisan down时,它会将应用程序置于维护模式,并返回503.刀身php视图.

很好,但有一个 Select 我真的做不到..当我这样做的时候:

php artisan down --message='Upgrading Database' --retry=60

我想在视图中显示消息,我try 用{{ $message }}访问明显的选项,但没有成功,返回未定义的变量.

我的问题是:如何访问它?

推荐答案

默认情况下,503.blade.php view不使用此消息.

此消息在名为storage/framework/down generated by php artisan down command的JSON格式文件中可用.

您可以执行以下操作,直接访问视图中的消息:

{{ json_decode(file_get_contents(storage_path('framework/down')), true)['message'] }}

一个更简洁的方法是使用$exception变量,并像this answer中建议的那样在视图中包含{{ $exception->getMessage() }}.

在引擎盖下,CheckForMaintanceMode中间件读取message and other data from the file,并抛出一个包含该数据的MaintanceModeException.

Edit:在Laravel 8之后,创建storage/framework/down命令的有效载荷发生了变化,并且没有include the exception message.你应该在Laravel 8+上使用{{ $exception->getMessage() }}.

Laravel相关问答推荐

URL类图中的循环关系

Livewire 基于下拉 Select 自动填充输入框

嵌套数组请求的 Laravel 验证,其中如果整数之一为零,则另一个应大于零

Laravel Eloquent:组合列(或自定义属性)上的 Where 子句

无法在 Laravel 项目中安装 @vitejs/plugin-vue

前端和管理员分开时未加载laravel 9中间件

try 发布 AJAX 请求时 POST 405(方法不允许)-Laravel 4

laravel render() 方法有什么用?

Laravel/Eloquent:致命错误:在非对象上调用成员函数 connection()

如何通过一个 laravel 安装处理子域

验证规则 required_if 与其他条件(Laravel 5.4)

Laravel 5.4 存储:下载文件.文件不存在,但显然存在

Laravel:如何在没有数据库的情况下对用户进行身份验证

使用限制排队 Guzzle 请求

从 sqlite DB 登录 Laravel,得到PDOException 找不到驱动程序

Twilio 查找 API 不起作用?

从 Laravel Cashier 获取下一个账单日期

脚本 php artisan clear-compiled 处理 pre-update-cmd 事件返回错误(Laravel 4.1 升级)

Laravel Mix 生成字体到另一个目录

如何在 Laravel 5.3 中获取当前的语言环境