2017-07-18 59 views
0

我無法找到任何適當的方式打開調試模式Laravel 5.4生產只爲管理員。爲管理員生產調試laravel

我有一個應用程序,我正在整個生產環境中進行調試,所以我需要調試模式,這將只爲我看到。

可以設置APP_DEBUG=true而不是APP_DEBUG=false,它在.env - 在生產中?或者其他方式?

+0

你如何區分你的管理和其他領域? –

+0

這個程序不需要登錄,所以沒有Auth邏輯。所以任何方式都不錯,它可以識別我作爲管理員 - 會話,cookie,獲取參數,IP地址... – Gediminas

回答

3

技術上的不可能認證來之後方式laravel本身(特別是app.php)中定義的,所以你不能寫類似

if (isAdmin) { debug = true' }

但是,你所能做的就是在config/app.php你可以定義像這樣的調試,並把你的ip(確保你沒有使用它在staging /本地,因爲你調試也會在這些情況下返回false)

'debug' => env('APP_DEBUG', $_SERVER['REMOTE_ADDR'] == 'your.ip.address' ? true : false) 

刪除APP_DEBUG生產線.env文件。當沒有價值時,它將從這種情況中獲得。把它放在local上按照你的意願設置它。

所以,如果是你的ip調試將是真實的,否則爲false。

,但是我要說最安全,最優雅的方式將

1)中的經認證的路由存儲日誌。您獲得的每個錯誤都將顯示在日誌文件中的特定路線下。 但仍不會立即。實際上,你可以使用包這樣一個 https://github.com/rap2hpoutre/laravel-log-viewer

2)使用服務爲哨兵和電子郵件的每個錯誤自己或用自己的面板

+0

你是天才!這是我的第一個真正起作用的方法。爲了使它完美工作,也許有可能檢查或環境是本地的,然後設置爲真,如果生產,然後檢查IP是真實的,否則是錯誤的? – Gediminas

+0

你可以做到這一點 –

+0

哦,我剛剛意識到我不需要這樣做,因爲我可以刪除production .env上的APP_DEBUG值,所以它只會從config/app.php條件中獲取。謝謝! – Gediminas