1

我知道有一个类似的问题:如何在 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 路径,但此处没有信息

我的代码很简单:

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

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

  1. 当我更改某些内容时,我尝试了多次“service apache2 restart”
  2. 而且我还尝试直接在代码中通过ini_set指定设置

好像我错过了一些简单的东西,但我只看到了 WSOD。每时每刻。任何帮助是极大的赞赏

更新

至少

    ini_set('display_errors', '1');

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

4

2 回答 2

1

最后!

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

当您指定 App::error 时,您将不会收到调试消息(在应用程序配置中将 debug 设置为 true 或 false 无关紧要)

于 2013-11-18T13:19:52.080 回答
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 指令禁用 ini_set

  3. Laravel 环境设置为“测试”。

于 2015-02-04T16:01:36.980 回答