在laravel 4中显示错误

时间:2013-11-12 12:02:46

标签: php laravel-4

我知道有一个类似的问题:How to display errors on laravel 4?

但我无法弄清楚如何启用错误显示。我做了什么:

  1. 在php.ini中我设置“display_errors = On”,“error_reporting = E_ALL”,“error_log = /var/log/php_errors.log”
  2. 在laravel的配置(app.php) - 调试模式
  3. 我查看了/ app / storage / logs(没有日志)
  4. 我看了php_errors.log(这里只是一个简单的警告)
  5. 在虚拟主机配置中,我指定了error.log路径但没有信息
  6. 我的代码很简单:

    public function getTest() {
        // phpinfo();
        echo $notExistingVar;
        die('123');
    }
    

    我看不到'123',而是我得到500错误(在Chrome开发工具中查看)

    1. 当我改变了一些东西时,我多次尝试“service apache2 restart”
    2. 我还尝试直接在代码
    3. 中指定ini_set的设置

      好像我想念一些简单的东西,但我只看到了WSOD。每时每刻。 非常感谢任何帮助

      更新

      至少

          ini_set('display_errors', '1');
      

      帮助。不是在php.ini中,而是在php脚本文件本身

2 个答案:

答案 0 :(得分:1)

最后!

我指定了App ::错误回调并包含403,404和500错误页面。我把404.php中的简单文本如“403”,404.php中的“404”,但忘记在500.php中放入任何内容。而不是白页我总是在Chrome中看到类似“服务器错误”的内容,所以完全忘记了这个回调。

当您指定App :: error时,您将不会收到调试消息(无论在app app中将debug设置为true还是false)

答案 1 :(得分:0)

Laravel使用

禁用vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ start.php中的display_errors
if ($env != 'testing') ini_set('display_errors', 'Off');

这将为您提供以下选项之一

  1. 正如您建议稍后使用

    覆盖它
    ini_set('display_errors', 'On');
    
  2. 使用disable_functions directive

  3. 禁用ini_set
  4. Laravel environment设置为'测试'。