Laravel 4 - 如何获得有意义的错误

Posted

技术标签:

【中文标题】Laravel 4 - 如何获得有意义的错误【英文标题】:Laravel 4 - how to get meaningful errors 【发布时间】:2014-11-23 17:04:35 【问题描述】:

这是我第一次在 Windows 机器上进行本地开发。在 MAMP 上,我曾经收到过有意义的错误消息,但下面的代码给了我无法解读的错误。

$user = User::find(10);
Auth::login($user);

异常处理程序中的错误:array_merge():参数 #2 不是 /home/vagrant/Code/projectname/vendor/laravel/framework/src/Illuminate/View/Environment.php:117 中的数组

如何获取默认的“橙色”laravel 错误页面,为什么这种简单的身份验证不起作用?

【问题讨论】:

在您的 app.php 配置文件中将 debug 设置为 true。 我将其更改为 true,但它仍然返回一个丑陋的错误屏幕。 确保你没有本地配置文件,有debug=false 等。不能告诉你这个。但我可以肯定地告诉你,错误不在你粘贴的行中。查看View::make,因为它是罪魁祸首。 我安装了调试栏,点击消息给了我正在寻找的“有意义的”错误。羞耻页面最初显示丑陋的错误屏幕。 【参考方案1】:

可能是您的环境设置不正确。

尝试在 terminal.app 中输入以下内容

 hostname

这将为您提供您的机器主机名,复制它并将其粘贴到 detectEnvironment() 函数中的 \bootstrap\start.php 中。

/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/

$env = $app->detectEnvironment(array(

    'local' => array('homestead'),

));

将字符串 'homestead' 替换为您的主机名。希望这会给您带来漂亮的错误。

【讨论】:

以上是关于Laravel 4 - 如何获得有意义的错误的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Windows 上的 OpenGL 获取有意义的错误信息

如何在 web3.js 中正确使用还原原因在 UI 中显示有意义的错误消息

如何捕捉数据库错误并将其转化为对业务层有意义的信息?

显示有意义的错误消息

没有有意义的错误的快速尾随关闭失败

如何处理和解析JPA持久性异常以向用户提供有意义的消息