laravel / framework

The Laravel Framework.
https://laravel.com
MIT License
32.46k stars 11k forks source link

php artisan serve can't bind to any port #34229

Closed vitorsemeano closed 4 years ago

vitorsemeano commented 4 years ago

Description:

After upgrading to laravel 8, and running the command php artisan serve, it responds with an error recursively, like so:

image

This behavior does not happen if i change php version to 7.4.5 or switch to laravel 7.x.

Steps To Reproduce:

  1. have a laravel project started up with version 8.x
  2. make sure you have the most recent stable php version installed (at time of writing 7.4.10)
  3. run php artisan serve
  4. see that the command can't bind itself to any port

As additional note, i debugged the generated command (running php artisan serve), and copy paste it directly in the command line and it worked, without returning any error.

If you need any more info, just ask.

Thanks

driesvints commented 4 years ago

We don't use windows ourselves so feel free to send in a PR which fixes this on Windows.

AegirLeet commented 4 years ago

Can't reproduce this. Might be something on your machine interfering.

vitorsemeano commented 4 years ago

Hi, thanks for your feedback.

I managed to resolve this issue. Not quite sure what as the cause, but it was related with something not right in php.ini.

So what i did was use the standard php.ini-development (that comes with a pre built php), and add whats missing in the file and should work. In any doubt try only renaming php.ini-development to php.ini without modifying its contents.

mikecobb-io commented 4 years ago

The one line I needed to change in my php.ini to fix this problem was variables_order = "EGPCS" to variables_order = "GPCS"

vitorsemeano commented 4 years ago

Something to do with the Env variable. No ideia how this affects the core functionality of php built in server to this degree.

agustavo87 commented 4 years ago

Something to do with the Env variable. No ideia how this affects the core functionality of php built in server to this degree.

It's in the 8^ laravel upgrade. Because the server if one run it directly works fine:

php -S 127.0.0.1:8000  -t public/ server.php

and in Laravel 7 artisan serve works without problems (windows 10, php 7.4.6).

Devang142 commented 3 years ago

For me, it was silly mistake. I have installed php in new machine but php.ini was missing. So, I have created php.ini file from php.ini-production file and then php artisan serve command worked fine as expected.

isharainduranga commented 3 years ago

php.ini was missing .Check whether your composer has installed.

amirazad1 commented 2 years ago

After upgrading php7 to php8 for XAMPP,I receive this error.re-creating php.ini from php.ini-production works for me.

ttc0419 commented 2 years ago

Hi guys, I created a merge request https://github.com/laravel/framework/pull/40819 to fix the issue. Could you try it out to see if it's working?

omniaSayed commented 2 years ago

The one line I needed to change in my php.ini to fix this problem was variables_order = "EGPCS" to variables_order = "GPCS"

i have been with this problem for days and your solution worked thank

Afer13 commented 1 year ago

injimjin ihkhh uhihkiuhhhu

niu-grandpa commented 1 year ago

The one line I needed to change in my php.ini to fix this problem was variables_order = "EGPCS" to variables_order = "GPCS"

Thanks!This is a very good

dhurbamis commented 4 months ago

Yes, it was php.ini

change below variables_order = "EGPCS" to variables_order = "GPCS"

MiN6JI commented 3 months ago
variables_order = "EGPCS"

to

variables_order = "GPCS" 

If you are using laravel herd and facing same issue and can't find the php.ini just right click the herd icon from the taskbar and open the configuration files you will see all your php version folders, click onto the one of the folder as per your configuration of php and search for php.ini and make the above changes.

kamasuPaul commented 3 weeks ago

In case anyone using PVM on windows comes here looking: I installed a new version of PHP using PVM, but it didn't come with a php.ini file. That was causing the issue. To fix it, I just had to add a php.ini file.