Bird
Raised Fist0
Laravelframework~5 mins

Maintenance mode in Laravel

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Maintenance mode lets you temporarily stop your Laravel app from being used while you fix or update it. This keeps users from seeing errors or broken pages.

When you need to update your website without users seeing incomplete changes.
When fixing bugs that might break the app if users keep using it.
When doing database migrations that require the app to be offline.
When performing server or app maintenance that needs exclusive access.
When preparing a big feature release and want to avoid user confusion.
Syntax
Laravel
php artisan down
php artisan up

php artisan down puts the app into maintenance mode.

php artisan up brings the app back online.

Examples
This command activates maintenance mode immediately.
Laravel
php artisan down
This command disables maintenance mode and makes the app available again.
Laravel
php artisan up
Sample Program

This example shows the basic commands to toggle maintenance mode in Laravel. When in maintenance mode, users see a default 503 page. You can customize that page to show a friendly message.

Laravel
<?php
// To put the Laravel app into maintenance mode
// Run this in your terminal:
// php artisan down

// Now, users see a maintenance page when visiting your app.

// To bring the app back online:
// php artisan up

// You can also customize the maintenance page by editing resources/views/errors/503.blade.php
OutputSuccess
Important Notes

Maintenance mode returns a 503 "Service Unavailable" response for all web requests.

You can customize the maintenance page by editing resources/views/errors/503.blade.php.

Remember to run php artisan up to bring your app back online after maintenance.

Summary

Maintenance mode temporarily stops user access to your Laravel app.

Use php artisan down to enable and php artisan up to disable it.

You can customize the maintenance page and allow special access during maintenance.

Practice

(1/5)
1. What does enabling maintenance mode in Laravel do?
easy
A. Deletes all application data
B. Automatically updates the application
C. Temporarily stops user access to the application
D. Restarts the web server

Solution

  1. Step 1: Understand maintenance mode purpose

    Maintenance mode is designed to prevent users from accessing the app temporarily during updates or fixes.
  2. Step 2: Identify what happens when enabled

    When enabled, users see a maintenance page instead of the app, stopping normal access.
  3. Final Answer:

    Temporarily stops user access to the application -> Option C
  4. Quick Check:

    Maintenance mode = stops user access [OK]
Hint: Maintenance mode blocks users temporarily [OK]
Common Mistakes:
  • Thinking it deletes data
  • Assuming it updates app automatically
  • Confusing with server restart
2. Which command correctly enables maintenance mode in Laravel?
easy
A. php artisan down
B. php artisan up
C. php artisan start
D. php artisan maintenance

Solution

  1. Step 1: Recall Laravel maintenance commands

    To enable maintenance mode, the command is php artisan down.
  2. Step 2: Verify other commands

    php artisan up disables maintenance mode; others are invalid.
  3. Final Answer:

    php artisan down -> Option A
  4. Quick Check:

    Enable maintenance = php artisan down [OK]
Hint: Use 'down' to enable maintenance mode [OK]
Common Mistakes:
  • Using 'php artisan up' to enable
  • Typing non-existent commands
  • Confusing start with down
3. What will be the output when a user visits the Laravel app URL while maintenance mode is enabled?
medium
A. The normal application homepage loads
B. A 404 Not Found error appears
C. The user is redirected to the login page
D. A 503 Service Unavailable maintenance page is shown

Solution

  1. Step 1: Understand Laravel's maintenance response

    When maintenance mode is enabled, Laravel returns a 503 status with a maintenance page.
  2. Step 2: Check other options

    The normal homepage does not load, a 404 Not Found error is unrelated, and users are not redirected to the login page.
  3. Final Answer:

    A 503 Service Unavailable maintenance page is shown -> Option D
  4. Quick Check:

    Maintenance mode shows 503 page [OK]
Hint: Maintenance mode returns 503 status page [OK]
Common Mistakes:
  • Expecting normal homepage
  • Confusing 404 with maintenance
  • Thinking it redirects to login
4. You ran php artisan down but users still access the app normally. What is the likely problem?
medium
A. The down command was run in the wrong directory
B. You need to restart the web server manually
C. You forgot to clear the cache after enabling maintenance mode
D. Maintenance mode only works in production environment

Solution

  1. Step 1: Check command context

    Running php artisan down outside the Laravel project folder does nothing.
  2. Step 2: Evaluate other options

    Cache clearing is not required; web server restart is unnecessary; maintenance mode works in all environments.
  3. Final Answer:

    The down command was run in the wrong directory -> Option A
  4. Quick Check:

    Run artisan commands in project folder [OK]
Hint: Run artisan commands inside Laravel project folder [OK]
Common Mistakes:
  • Assuming cache clear is needed
  • Restarting server unnecessarily
  • Thinking maintenance mode is environment-limited
5. How can you allow a specific IP address to access the Laravel app while it is in maintenance mode?
hard
A. Maintenance mode cannot allow exceptions for IP addresses
B. Use php artisan down --allow=IP_ADDRESS to whitelist the IP
C. Add the IP to config/app.php under 'maintenance_ips'
D. Edit .env to add the IP under MAINTENANCE_ALLOWED_IP

Solution

  1. Step 1: Recall Laravel maintenance mode options

    Laravel supports allowing IPs during maintenance using php artisan down --allow=IP_ADDRESS.
  2. Step 2: Verify other options

    Environment variables or config files do not control allowed IPs by default; maintenance mode does allow exceptions.
  3. Final Answer:

    Use php artisan down --allow=IP_ADDRESS to whitelist the IP -> Option B
  4. Quick Check:

    Allow IP with artisan down --allow [OK]
Hint: Use --allow option with down command [OK]
Common Mistakes:
  • Editing .env for allowed IPs
  • Modifying config/app.php incorrectly
  • Believing exceptions are impossible