2016-09-10 9 views
5

मैं रखरखाव मोड के लिए Laravel डॉक्स बाहर की जाँच कर रहा हूँ:Laravel रखरखाव में एक कस्टम संदेश प्रदर्शित मोड

https://laravel.com/docs/5.3/configuration#maintenance-mode

जब आप आदेश php artisan down निष्पादित, यह रखरखाव मोड के तहत आवेदन डाल दिया जाएगा, और वापसी 503.blade.php देखें।

अच्छा काम करता है, लेकिन वहाँ मैं वास्तव में काम नहीं कर सकते हैं एक विकल्प है .. जब मैं कार्य करें:

php artisan down --message='Upgrading Database' --retry=60 

मैं ध्यान में रखते हुए संदेश प्रदर्शित करना चाहते हैं, मैं स्वाभाविक पसंद तक पहुँचने की कोशिश की {{ $message }} साथ सफलता के बिना, अपरिभाषित चर लौटाता है।

मेरा प्रश्न है: इसे कैसे एक्सेस करें?

उत्तर

5

डिफ़ॉल्ट रूप से 503.blade.php व्यू इस संदेश का उपयोग नहीं करता है।

यह संदेश storage/framework/downgenerated by php artisan down कमांड नामक एक JSON प्रारूपित फ़ाइल में उपलब्ध है।

आप अपने ध्यान में रखते हुए संदेश पहुँचने के लिए कुछ इस तरह कर सकता है:

{{ json_decode(file_get_contents(storage_path('framework/down')), true)['message'] }} 
+0

https://stackoverflow.com/a/41654147/107282 – jezmck

14

वास्तव में आपको लगता है कि "json_decode" सामान की जरूरत नहीं है, के रूप में (503.blade.php सहित) सभी "त्रुटि" विचारों $exception है चर।

तो आप अपने दृश्य में केवल {{ $exception->getMessage() }} का उपयोग कर सकते हैं और आपको सटीक मूल्य प्राप्त होगा जो आपने artisan down --message कमांड पर पारित किया है।

+1

देखें और समय दिखाने के लिए {{$ अपवाद-> retryAfter}} का भी उपयोग कर सकते हैं। – vivanov

+0

यह टी स्वीकार किया जाना चाहिए संदेश होना चाहिए – hadi

1

यदि आप अपने रखरखाव पृष्ठ पर विस्तृत जानकारी (केवल संदेश नहीं) चाहते हैं, तो आप $exception->retryAfter (Int), $e->willBeAvailableAt (कार्बन) और $e->wentDownAt (कार्बन) का भी उपयोग कर सकते हैं। बेशक आपको - artisan कमांड में पैरामीटर सेट करने की आवश्यकता है।

संबंधित मुद्दे