【问题标题】:How to change error reporting level in Laravel 4?如何更改 Laravel 4 中的错误报告级别?
【发布时间】:2013-09-08 02:38:00
【问题描述】:

如何更改 L4 中的 PHP 错误报告?

我找到了这个http://forums.laravel.io/viewtopic.php?id=6072,但它是关于 L3 的,我不知道如何实现同样的目标,即防止应用程序在 php E_NOTICE 上引发异常

【问题讨论】:

    标签: php laravel laravel-4 error-reporting


    【解决方案1】:

    用户“你的常识”(顺便说一句真棒的名字)关于修复错误是正确的。 欢迎来到 2013 年,“未定义的索引错误”已成为过去的事情。

    除非您正在使用无法如此简单地更改的遗留代码... 所以我们开始:

    在文件vendor/laravel/framework/src/Illuminate/Foundation/start.php 中,error_reporting() 设置为-1,又名:“报告所有错误”。 尝试更改error_reporting的级别,链接到manual:http://php.net/manual/en/function.error-reporting.php

    在 /app 目录中编辑你的global.php,并在底部添加:error_reporting(E_ERROR | E_WARNING | E_PARSE);

    未定义的索引错误将不再显示。随意调整级别以满足您的需求。

    [编辑] 顺便说一句:在 app/config/app.php (或 app/config/-environment-/app.php 中,您可以将调试更改为 false。这样,您的应用程序的用户将不会收到任何技术错误消息。

    【讨论】:

    • 谢谢,这就是我今天早上所做的,但在 app.php 而不是 global.php 中。我所追求的是 Laravel 推荐的这样做方式,这是现实世界的需求和 php 本机 error_reporting() 本身的目标,而不是我从未寻求帮助的理论点
    • @brazorf 我不确定你在问什么。目前(据我所知)在 laravel 中没有方法来控制 error_reporting 的级别。
    • 嘿 Rob,我只是想防止我的应用程序在 php E_NOTICE 上抛出异常。
    • 所以在 app.php 或 global.php 中添加 error_reporting(E_ALL ^ E_NOTICE);
    【解决方案2】:

    只需在页面顶部的app\start\global.php中设置错误报告0即可。

    error_reporting(0);
    

    【讨论】:

      【解决方案3】:

      引用您链接到的论坛:

      现在你应该知道作为程序员你需要修复错误而不是隐藏它。

      【讨论】:

      • 感谢您的智慧。我知道如何处理错误,作为一名程序员,我知道什么应该破坏我的应用程序,什么不应该。
      • 来自 php 文档:在开发期间启用 E_NOTICE 有一些好处。出于调试目的: NOTICE 消息将警告您代码中可能存在的错误。例如,警告使用未分配的值。查找错别字并节省调试时间非常有用。 NOTICE 消息会警告您不良风格。例如,$arr[item] 最好写成 $arr['item'] 因为 PHP 试图将 "item" 视为常量。如果不是常量,PHP 假定它是数组的字符串索引。
      • 你凭借 StackOverflow 获得了最无用依赖奖。恭喜。
      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 2017-07-27
      • 2010-12-16
      • 2020-11-17
      • 2013-11-06
      相关资源
      最近更新 更多