📖 Scenario: You are starting a new Laravel project and want to run it locally to see your changes in the browser.
🎯 Goal: Set up a Laravel development server and run it locally using the built-in Artisan command.
📋 What You'll Learn
Create a new Laravel project folder
Navigate to the project directory
Run the Laravel development server using Artisan
Access the server URL in a browser
💡 Why This Matters
🌍 Real World
Developers use the Laravel development server to quickly test and view their web applications locally before deploying to production.
💼 Career
Knowing how to run a Laravel development server is essential for backend and full-stack developers working with Laravel to build and test web applications.
Progress0 / 4 steps
1
Create a new Laravel project folder
Open your terminal and create a new Laravel project folder named myapp using the command laravel new myapp.
Laravel
Hint
Use the laravel new command followed by the folder name myapp to create the project.
2
Navigate to the project directory
Change your terminal directory to the newly created myapp folder using the command cd myapp.
Laravel
Hint
Use the cd command to enter the myapp folder.
3
Run the Laravel development server
Start the Laravel development server by running the command php artisan serve inside the myapp directory.
Laravel
Hint
Use the Artisan command php artisan serve to start the local server.
4
Access the development server in the browser
Open your web browser and go to http://127.0.0.1:8000 to see the Laravel welcome page served by your development server.
Laravel
Hint
After running the server, open the URL http://127.0.0.1:8000 in your browser to see the Laravel welcome page.
Practice
(1/5)
1. What is the primary purpose of the php artisan serve command in Laravel?
easy
A. To clear the application cache
B. To deploy the application to a live web server
C. To create a new Laravel project
D. To start a local development server for testing the application
Solution
Step 1: Understand the command's role
php artisan serve is used to start a local server for development.
Step 2: Differentiate from other commands
Deploying, creating projects, or clearing cache are done by other commands.
Final Answer:
To start a local development server for testing the application -> Option D
Quick Check:
Development server = start local server [OK]
Hint: Remember: 'serve' means start local server [OK]
Common Mistakes:
Confusing 'serve' with deployment commands
Thinking it creates a new project
Assuming it clears cache
2. Which of the following is the correct syntax to start the Laravel development server on a custom port 8080?
easy
A. php artisan serve --port=8080
B. php artisan serve --p 8080
C. php artisan start --port 8080
D. php serve --port=8080
Solution
Step 1: Recall the correct command format
The Laravel command to serve with a custom port uses --port= option.
Step 2: Check each option
php artisan serve --port=8080 matches the correct syntax. Options A, B, and D use incorrect flags or commands.
Final Answer:
php artisan serve --port=8080 -> Option A
Quick Check:
Custom port uses --port= [OK]
Hint: Use double dash and equals for port: --port= [OK]
Common Mistakes:
Using single dash -p instead of --port=
Using wrong command like 'php artisan start'
Omitting 'artisan' in the command
3. What will happen if you run php artisan serve --host=127.0.0.1 --port=9000 and then visit http://127.0.0.1:9000 in your browser?
medium
A. The Laravel app will be accessible locally on port 9000
B. The server will start but only on the default port 8000
C. You will get a connection error because 127.0.0.1 is invalid
D. The app will be accessible on port 80 automatically
Solution
Step 1: Understand the host and port options
Using --host=127.0.0.1 and --port=9000 tells Laravel to listen on that IP and port.
Step 2: Check browser access
Visiting http://127.0.0.1:9000 matches the server address and port, so the app loads.
Final Answer:
The Laravel app will be accessible locally on port 9000 -> Option A
Quick Check:
Custom host and port = accessible at that address [OK]
Hint: Match host and port in URL to access app [OK]
Common Mistakes:
Assuming 127.0.0.1 is invalid
Thinking default port 8000 is always used
Expecting automatic port 80 usage
4. You tried to run php artisan serve --port=abc but got an error. What is the most likely cause?
medium
A. The command requires a host option with port
B. The port value must be a number, not letters
C. You need to run the command inside the public folder
D. Laravel does not support custom ports
Solution
Step 1: Analyze the port argument
The port must be a numeric value representing a network port number.
Step 2: Identify the error cause
Using 'abc' is invalid and causes the command to fail.
Final Answer:
The port value must be a number, not letters -> Option B
Quick Check:
Port must be numeric [OK]
Hint: Ports are numbers only, no letters [OK]
Common Mistakes:
Using letters or symbols for port
Thinking host is mandatory with port
Running command outside project root
5. You want to run your Laravel app on your local network so your phone can access it. Which command correctly starts the development server to allow this?
hard
A. php artisan serve --host=127.0.0.1 --port=8000
B. php artisan serve --host=localhost --port=80
C. php artisan serve --host=0.0.0.0 --port=8000
D. php artisan serve --host=192.168.1.255 --port=8000
Solution
Step 1: Understand host binding for network access
Binding to 0.0.0.0 allows the server to listen on all network interfaces.
Step 2: Evaluate options for local network access
php artisan serve --host=0.0.0.0 --port=8000 uses 0.0.0.0 and a common port, enabling devices on the network to connect.
Step 3: Explain why others fail
php artisan serve --host=127.0.0.1 --port=8000 binds only to localhost, blocking external devices. php artisan serve --host=localhost --port=80 uses port 80 but localhost only. php artisan serve --host=192.168.1.255 --port=8000 uses a broadcast address, which is invalid for binding.
Final Answer:
php artisan serve --host=0.0.0.0 --port=8000 -> Option C
Quick Check:
Use 0.0.0.0 for network access [OK]
Hint: Use 0.0.0.0 host to allow network devices [OK]
Common Mistakes:
Using 127.0.0.1 which blocks external access
Binding to broadcast address like 192.168.1.255
Assuming localhost allows network access
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.