ChatGPT解决这个技术问题 Extra ChatGPT

Set port for php artisan.php serve

How do we set a custom port for test server?

Normally when we do

php artisan serve

the folder gets served as :

localhost:8000

How do could we access one folder as:

localhost:8080

I want to access two different development sites on my localhost.

php artisan serve --help will show the usage and options. --help is available on every artisan command.

A
Andreas Bergström

Laravel 5.8 to 8.0 and above

Simply pass it as a paramter:

php artisan serve --port=8080

You may also bind to a specific host by:

php artisan serve --host=0.0.0.0 --port=8080 

Or (for Laravel 6+) you can provide defaults by setting SERVER_PORT and SERVER_HOST in your .env file. You might need to do php artisan cache: clear as well. (thanks @mohd-samgan-khan)

And if you want to run it on port 80, you probably need to sudo.


is there anyway to set this as the default?
@twigg Not that I know of, unless you modify the source code itself. I guess you could write a custom command to wrap the serve command with your preferred arguments: laravel.com/docs/5.4/artisan
Yes. Its working for me php artisan serve --port=8001
Yes there is, as of Laravel 6: set SERVER_PORT in your .env file. stackoverflow.com/a/59823822/333340
This solution works for laravel v8 as well
A
Ahmed Mahmoud

as this example you can change ip and port this works with me

php artisan serve --host=0.0.0.0 --port=8000

I'm running a test server on AWS / EC2. (instead of my local). So dropped this code into the terminal and I'm up and running!
R
Rob Gordijn

One can specify the port with: php artisan serve --port=8080.


S
Shabeer K

You can use many ports together for each project,

  php artisan serve --port=8000

  php artisan serve --port=8001   

  php artisan serve --port=8002

  php artisan serve --port=8003

I ran multiple laravel projects on different ports.It gives 404 not found error. Do I have to configure the port in somewhere else also.
D
Derrek Bertrand

Andreas' answer above was helpful in solving my problem of how to test artisan on port 80. Port 80 can be specified like the other port numbers, but regular users do not have permissions to run anything on that port.

Drop a little common sense on there and you end up with this for Linux:

sudo php artisan serve --port=80

This will allow you to test on localhost without specifying the port in your browser. You can also use this to set up a temporary demo, as I have done.

Keep in mind, however, that PHP's built in server is not designed for production. Use nginx/Apache for production.


v
vishal pardeshi

You can use

php artisan serve --port 80

Works on Windows platform


A
Ashish Patel

you can also add host as well with same command like :

php artisan serve --host=172.10.29.100 --port=8080

D
Dr Tyrell
sudo /Applications/XAMPP/xamppfiles/bin/apachectl start

This fixed my issue AFTER ensuring my ports were all uniquely sorted out.


T
Thilina Dharmasena

when we use the

php artisan serve 

it will start with the default HTTP-server port mostly it will be 8000 when we want to run the more site in the localhost we have to change the port. Just add the --port argument:

php artisan serve --port=8081

https://i.stack.imgur.com/5y6Uo.png