无法在linux上启动laravel开发服务器

时间:2015-11-13 11:21:58

标签: php linux laravel artisan

我正在使用laravel 5进行我的项目,一切都运行正常,但最近我遇到了这个问题,我明白了。

devboy@devboy-hp ~/sonel_ims_project/ims_eneo $ php artisan serve
Laravel development server started on http://localhost:8000/
[Fri Nov 13 12:00:56 2015] Failed to listen on localhost:8000 (reason: Address already in use)

我尝试了devboy@devboy-hp ~ $ sudo netstat -plnt并获得了

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1840/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1985/cupsd      
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      7563/php-5.6.3  
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1656/master     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      6966/httpd      
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      740/smbd        
tcp        0      0 127.0.0.1:6942          0.0.0.0:*               LISTEN      7442/java       
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      6931/php-5.6.3  
tcp        0      0 0.0.0.0:6667            0.0.0.0:*               LISTEN      1539/ircd       
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      740/smbd        
tcp        0      0 127.0.0.1:63342         0.0.0.0:*               LISTEN      7442/java       
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6966/httpd      
tcp6       0      0 :::21                   :::*                    LISTEN      7337/proftpd: (acce
tcp6       0      0 ::1:631                 :::*                    LISTEN      1985/cupsd      
tcp6       0      0 :::3128                 :::*                    LISTEN      1416/squid3     
tcp6       0      0 :::25                   :::*                    LISTEN      1656/master     
tcp6       0      0 :::445                  :::*                    LISTEN      740/smbd        
tcp6       0      0 :::3306                 :::*                    LISTEN      7343/mysqld     
tcp6       0      0 :::139                  :::*                    LISTEN      740/smbd  

然后我更改端口php artisan serve --port="8888" 但是在一段时间后得到类似的错误:

Laravel development server started on http://localhost:8888/
[Fri Nov 13 12:01:02 2015] Failed to listen on localhost:8888 (reason: Address already in use)

它第一次发生时,是java使用端口8000,所以我杀死了进程并启动了服务器并且它工作正常。停止并重新启动后,我收到同样的错误。可能是什么问题(正如我所说的一切都工作正常,除了现在我还没有做过任何重大更新)?

7 个答案:

答案 0 :(得分:9)

您在本地的先前部署已在运行,这就是您无法运行php artisan serve的原因。您可以在终端中按照以下命令解决问题:

  1. ps -ef | grep php您会看到此列表:

      

    gujarat 6690 3500 0 05:55 pts / 1 00:00:00 php artisan serve
      古吉拉特邦6694 6690 0 05:55 pts / 1 00:00:00 sh -c'/ usr / bin / php5'   -S localhost:8000'/home/gujarat/WebDevelopment/quickstart-basic'/server.php
    gujarat 6695 6694 0 05:55 pts / 1 00:00:00 / usr / bin / php5 -S localhost: 8000   /home/gujarat/WebDevelopment/quickstart-basic/server.php   
    gujarat 7436 3500 0 06:26 pts / 1 00:00:00 grep --color = auto php

  2. 现在使用sudo kill 6690杀死它,如果仍然存在则使用此sudo kill -9 6690您将看到此结果:

      

    [1] + Killed php artisan serve

  3. 现在,您可以再次使用php artisan serve为本地人服务

答案 1 :(得分:3)

这正是我为这个问题所做的。

  1. 我退出PHPStorm
  2. sudo netstat -plnt
  3. kill 7563 (Process using port 8888)
  4. kill 6931 (Process using port 8000)
  5. sudo /opt/lampp/lampp restart(重启我的服务器altogther)
  6. php artisan serve
  7. 启动PhpStorm
  8. 现在一切正常。是什么导致了这个问题?

答案 2 :(得分:2)

请重启apache服务器

sudo apache restart

再次在另一个端口运行您的项目

php artisan serve --port=2020

答案 3 :(得分:1)

使用lsof,您可以看到端口上正在侦听的内容。

sudo lsof -i :80

将80更改为您感兴趣的任何端口。你需要是root或sudo。

答案 4 :(得分:0)

问题可能是它没有阻止以前的预期方式,例如通过 CTRL + C 所以你可以做的是检查运行php进程并逐个杀死它们。

i)从终端运行ps -A然后识别php进程ID(大多数情况下它们是两个)

ii)运行与php pids相对应的sudo kill -9 pid#

iii)运行php artisan serve,它将起作用。

答案 5 :(得分:0)

运行此评论

sudo netstat -plnt

输出将显示如下

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name 
tcp       14      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      3648/php7.3  

然后使用此注释杀死端口:8000

 kill -9 3648

答案 6 :(得分:0)

当已经有一个运行在127.0.0.1:8000上的应用程序发生这种情况

您可以关闭该应用,然后该应用才能运行或在当前主机上不可用。

或者,如果您想运行多个应用程序,则使用以下方式:

您可以使用此命令为Linux运行 sudo php artisan serve --port=8082

                        php artisan serve --port=8082 for window