Laravel 5。调试模式

Laravel 5. Debug mode

我在 config->app 中将调试模式设置为 true 并将其部署到服务器上:

'debug' => env('APP_DEBUG', true),

我在 Controller 中有以下代码来检查模式:

...
$debug = config('app.debug');
var_dump($debug);
$product->save();

本地机器上的结果:

C:\xampp\htdocs\MK\app\Http\Controllers\ProductController.php:45:boolean true

服务器上的结果:

bool(false) Whoops, looks like something went wrong.

为什么服务器端没有设置调试模式?

配置文件中的这一行 'debug' => env('APP_DEBUG', true) 可能是导致问题的原因。

它在说;将 debug 设置为我的 .env 文件中定义的值,如果有 none 则使用 true.

因此它正在查看 .env 文件中的 APP_DEBUG=false,即使您已将第二个参数设置为 true。

尝试将 .env 文件中的设置更新为 true。

对于您的情况,只需转到 .env 文件并将 "APP_DEBUG=false" 更改为 "APP_DEBUG=true"

您还可以将设置更改到您的 .env 文件中

APP_ENV=production
APP_DEBUG=false

APP_ENV=local
APP_DEBUG=true

首先需要激活调试模式!并且 APP_ENV 需要设置为 local.

现在该怎么做!我们需要检查多个地方

.env 文件

APP_ENV=local
APP_DEBUG=true

确保它们没有设置两次!您可以使用 # APP_ENV=production 取消注释(使用 #)。

太重要了,您需要将 APP_ENV 更改为 local

要检查,您可以 运行

php artisan env

你得到类似的东西:

config/app.php

接下来要检查的是 config/app.php

知道.env就是这个文件处理的!该文件是管理配置的地方!

检查配置行是否未被删除或注释
(取决于它是新安装还是一些已经在项目中运行)

取决于您使用的 Laravel 版本!可能略有不同!

但关键是要确保加载 .env 配置,否则它将默认为 true!

'debug' => env('APP_DEBUG', true) // second param the default value

在我们当前的项目中!设置如下:

'debug' => (function_exists('env')) ? env('APP_DEBUG', true) : true,

它检查环境是否存在!如果是的话就用它!如果没有就直接设置默认值!

我的队友!没注意到!他得到了一个错误!因为在我们之前有人已经将其更改为如下(并被评论):

添加图像是为了说明错误是如何发生的!也为了通航许可!

最后检查一下,确保一切正常! (如果没问题就转到下一部分)

一切就绪,但无法正常工作

是的,值得期待!

清除视图和缓存

重要的是你应该知道你可能需要清除缓存

运行

php artisan view:clear

php artisan cache:clear

之后它应该可以工作了!

如果没有!

文件权限

您可能遇到文件系统权限问题!

看看这个

预期的调试视图

Laravel漂亮的调试画面❤️