簡體   English   中英

Laravel 5. 調試模式

[英]Laravel 5. Debug mode

我在 config->app 中將調試模式設置為true並將其部署在服務器上:

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

我在控制器中有以下代碼來檢查模式:

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

本地機器上的結果:

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

服務器上的結果:

bool(false) 哎呀,好像出了點問題。

為什么不在服務器端設置調試模式?

配置文件中的這一行'debug' => env('APP_DEBUG', true)可能是導致問題的原因。

它在說; debug設置為我的.env文件中定義的值,如果沒有,則使用true

因此,即使您已將第二個參數設置為 true,它也會查看.env文件中的APP_DEBUG=false

嘗試將.env文件中的設置更新為 true。

首先需要激活調試模式 並且APP_ENV需要設置為local

現在該怎么做! 我們需要檢查多個地方

.env 文件

APP_ENV=local
APP_DEBUG=true

確保它們沒有設置兩次! 您可以使用# APP_ENV=production取消注釋(使用# )。

太重要了,您需要將APP_ENV更改為local

並檢查,你可以運行

php artisan env

你會得到類似的東西:

在此處輸入圖片說明

配置/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,

它檢查 env 是否存在! 如果是它使用它! 如果不是它會直接設置默認值!

我的隊友! 沒注意到! 他犯了一個錯誤! 因為我們之前有人將其更改為如下(並被評論):

在此處輸入圖片說明

添加圖像是為了說明錯誤是如何發生的! 也是為了通航!

底線檢查它並確保它沒問題! (如果沒問題,請移至下一部分)

確定一切設置但不工作

是的,意料之中!

清除視圖和緩存

重要的是您應該知道您可能需要清除緩存

運行

php artisan view:clear

php artisan cache:clear

之后它應該工作!

如果沒有!

文件權限

您可能有文件系統權限問題!

看看這個

https://stackoverflow.com/a/28063794/7668448

預期的調試視圖

在此處輸入圖片說明

Laravel 漂亮的調試畫面❤️

在您的情況下,只需轉到您的.env文件並將"APP_DEBUG=false"更改為"APP_DEBUG=true"

您還可以將設置更改為您的 .env 文件

APP_ENV=production
APP_DEBUG=false

APP_ENV=local
APP_DEBUG=true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM