【问题标题】:Lumen FatalErrorException in RedirectResponse.php line 75: Call to a member function flashInput() on nullRedirectResponse.php 第 75 行中的 Lumen FatalErrorException:在 null 上调用成员函数 flashInput()
【发布时间】:2016-05-29 03:47:39
【问题描述】:
嗨,我在 Lumen 中遇到了这个错误
RedirectResponse.php 第 75 行中的 FatalErrorException:
在 null 上调用成员函数 flashInput()
在 RedirectResponse.php 第 75 行
在RegistersExceptionHandlers.php第55行中的Application->handleShutdown()
在 Application->Laravel\Lumen\Concerns{closure}()
这里是引发错误的代码:
return redirect('formular')
->withErrors($validator)
->withInput();
错误来自 withInput()
【问题讨论】:
标签:
php
laravel
lumen
lumen-5.2
【解决方案1】:
发生错误是因为 Lumen 5.2 不支持会话。 withErrors() 和 withInput() 方法尝试在重定向器上设置 session 属性的值,但 session 属性为空。
来自Lumen 5.2 documentation on validation:
Lumen 不支持开箱即用的会话,因此 Laravel 中每个视图中可用的 $errors 视图变量在 Lumen 中不可用。当验证失败时,$this->validate 助手将始终返回带有相关错误消息的 JSON 响应。如果你没有构建一个只发送 JSON 响应的无状态 API,你应该使用完整的 Laravel 框架。
基本上,如果您尝试使用会话,您就是在尝试以非预期的方式使用 Lumen 5.2。你应该使用 Lumen 5.1,或者使用完整的 Laravel 框架。您可以阅读 release notes here 关于 Lumen 5.2 的理念变化。