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漂亮的调试画面❤️
我在 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漂亮的调试画面❤️