Muy fácil, para poner en mantenimiento nuestro proyecto Laravel tan solo tenemos que ejecutar el comando:
php artisan down
Si queremos ponerle un mensaje por defecto se lo añadiremos al parámetro «message«:
php artisan down --message="Estamos trabajando en ello"
También podemos setear la cabecera HTTP ‘Retry-After‘ con el parámetro «retry«:
php artisan down --message="Estamos trabajando en ello" --retry=60
Para desactivar el modo mantenimiento en Laravel tan solo tenemos que ejecutar el comando:
php artisan up
Y mel de romer!
A funcionar.
La plantilla/view que mostrará Laravel cuando entra en modo mantenimiento se llama 503.blade.php, ubicada en:
/resources/views/error/503.blade.php
Por defecto, como vemos en la imagen nos mostrará el texto «Be right back«, y aunque le pasemos el parámetro «message» en el comando artisan no nos va a funcionar porque la view no está preparada para ello… Para que funcione deberemos implementar en el lugar que queramos que aparezca el mensaje el siguiente código blade:
{{json_decode(file_get_contents(storage_path('framework/down')), true)['message']}}
Lo que hacemos es coger el JSON que genera el comando artisan, almacenado en:
/storage/framework/down
De un aspeto parecido a:
{ "time": 1513695896, "message": "Estamos trabajando en ello", "retry": null }
Y pintamos la variable «message«.
Espero que os sirva 🙂