无法在 linux 上启动 laravel 开发服务器
Unable to start laravel development server on linux
我正在为我的项目使用 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,所以我终止了该进程并启动了服务器,它成功了。停止并重新启动后,我得到同样的错误。可能是什么问题(正如我所说,除了现在一切正常而且我没有进行任何重大更新)?
使用lsof,可以看到正在监听的端口。
sudo lsof -i :80
将 80 更改为您感兴趣的任何端口。您需要是 root 或 sudo。
请重启apache服务器
sudo apache restart
再一次运行你的项目在另一个端口
php artisan serve --port=2020
这正是我针对这个问题所做的。
- 我退出 PHPStorm
sudo netstat -plnt
kill 7563 (Process using port 8888)
kill 6931 (Process using port 8000)
sudo /opt/lampp/lampp restart
(完全重启我的服务器)
php artisan serve
- 启动 PhpStorm
现在一切正常。到底是什么导致了这个问题?
您之前在本地的部署已经 运行ning,这就是您不能 运行 php artisan serve
的原因。您可以通过在终端中执行以下命令来解决您的问题:
ps -ef | grep php
你会看到这个列表:
gujarat 6690 3500 0 05:55 pts/1 00:00:00 php 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
gujarat 7436 3500 0 06:26 pts/1 00:00:00 grep --color=auto php
现在使用以下方法杀死它:sudo kill 6690
如果仍然存在则使用此 sudo kill -9 6690
你会看到以下结果:
[1]+ Killed php artisan serve
现在您可以再次使用 php artisan serve
为本地服务
好吧,问题可能是它没有停止之前预期的方式,例如通过 CTRL+C 所以你可以做的是检查 运行 php 1个1个杀掉
i) 运行 ps -A
然后从终端识别 php 进程 ID(大多数时候它们是两个)
ii) 运行 sudo kill -9 pid#
对应 php 个 pids.
iii) 运行 php artisan serve
它会起作用。
运行这条评论
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
然后使用此评论杀死port:8000
kill -9 3648
当 127.0.0.1:8000
上已有一个应用 运行ning 时,就会发生这种情况
您可以关闭该应用程序,然后它将在当前主机上运行或不可用。
或者,如果您想 运行 多个应用程序,请使用如下所示的方式:
您可以使用此命令 运行 sudo php artisan serve --port=8082
for Linux
php artisan serve --port=8082 for window
我正在为我的项目使用 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,所以我终止了该进程并启动了服务器,它成功了。停止并重新启动后,我得到同样的错误。可能是什么问题(正如我所说,除了现在一切正常而且我没有进行任何重大更新)?
使用lsof,可以看到正在监听的端口。
sudo lsof -i :80
将 80 更改为您感兴趣的任何端口。您需要是 root 或 sudo。
请重启apache服务器
sudo apache restart
再一次运行你的项目在另一个端口
php artisan serve --port=2020
这正是我针对这个问题所做的。
- 我退出 PHPStorm
sudo netstat -plnt
kill 7563 (Process using port 8888)
kill 6931 (Process using port 8000)
sudo /opt/lampp/lampp restart
(完全重启我的服务器)php artisan serve
- 启动 PhpStorm
现在一切正常。到底是什么导致了这个问题?
您之前在本地的部署已经 运行ning,这就是您不能 运行 php artisan serve
的原因。您可以通过在终端中执行以下命令来解决您的问题:
ps -ef | grep php
你会看到这个列表:gujarat 6690 3500 0 05:55 pts/1 00:00:00 php 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
gujarat 7436 3500 0 06:26 pts/1 00:00:00 grep --color=auto php现在使用以下方法杀死它:
sudo kill 6690
如果仍然存在则使用此sudo kill -9 6690
你会看到以下结果:[1]+ Killed php artisan serve
现在您可以再次使用 php artisan serve
为本地服务
好吧,问题可能是它没有停止之前预期的方式,例如通过 CTRL+C 所以你可以做的是检查 运行 php 1个1个杀掉
i) 运行 ps -A
然后从终端识别 php 进程 ID(大多数时候它们是两个)
ii) 运行 sudo kill -9 pid#
对应 php 个 pids.
iii) 运行 php artisan serve
它会起作用。
运行这条评论
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
然后使用此评论杀死port:8000
kill -9 3648
当 127.0.0.1:8000
上已有一个应用 运行ning 时,就会发生这种情况您可以关闭该应用程序,然后它将在当前主机上运行或不可用。
或者,如果您想 运行 多个应用程序,请使用如下所示的方式:
您可以使用此命令 运行 sudo php artisan serve --port=8082
for Linux
php artisan serve --port=8082 for window