2015-11-13 70 views
2

我正在爲我的項目使用laravel 5,一切工作正常,但最近我遇到了這個我已經理解的問題。無法在Linux上啓動laravel開發服務器

[email protected] ~/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) 

我已經試過[email protected] ~ $ 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) 

第一次發生,它是使用8000端口的java,所以我殺死了這個進程並啓動了服務器並且工作。在停止並重新啓動後,我得到相同的錯誤。可能是什麼問題(正如我所說的,現在除了現在一切正常,我還沒有做過任何重大更新)?

回答

2

運行項目這正是我做了這個問題。

  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

現在一切工作正常。無論如何是什麼造成了這個問題

1

使用lsof,您可以看到端口上正在監聽的內容。

sudo lsof -i :80 

將80更改爲您感興趣的任何端口。你需要成爲root或sudo。

2

請重新啓動Apache服務器

sudo apache restart 

並再次在另一個端口

php artisan serve --port=2020 
7

您之前在本地的部署已在運行,這就是爲什麼您無法運行php artisan serve。您可以通過在終端下面這個命令解決您的問題:

  1. ps -ef | grep php你會看到這個名單:

    古吉拉特邦6690 3500 0 05:55分/ 1 PHP 00:00:00 artisan serve
    gujarat 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
    古吉拉特邦7436 3500 0 06:26分/ 1 00:00:00 grep的--color =自動PHP

  2. 使用現在殺了它:sudo kill 6690如果仍然存在,然後使用這個sudo kill -9 6690你會看到這結果:

    [1] + PHP打死工匠服務

現在你可以爲你的本地使用php artisan serve再次

0

那麼問題可能是它沒有停止先前例如通過CTRL + C預期的方式所以你可以做的是檢查運行PHP程序,並通過1

我)殺了他們1從終端運行ps -A,然後確定php進程id(大多數時間是兩個)

ii)運行sudo kill -9 pid#對應於php pids。

iii)運行php artisan serve它會工作。

-1

我今天回到這個問題,發現了一個簡單的解決方案。

我通過通過「iTerm2」

php artisan serve 

打字如果你想退出當前正在運行的服務器,只是退出的iTerm,並重新啓動它運行在本地服務器。 你應該很好去!

相關問題