如何停止正在侦听http://127.0.0.1:8000的symfony进程

时间:2016-11-17 12:11:46

标签: php linux symfony

我正在尝试运行我使用此命令生成的基本Symfony安装:

$ symfony new basic

当我运行以下命令时:

$ cd basic
$ php bin/console server:run

我收到此错误消息:

[ERROR] A process is already listening on http://127.0.0.1:8000.

我怀疑之前的symfony进程导致了这一点,但我不知道如何阻止它。

我在Ubuntu 14.04计算机上。 任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:13)

最好使用killall -9 php来杀死正在运行的所有php脚本。 否则你将开始一个新的,而前一个仍在运行。

可能是由无限循环引起的。

注意:这将" kill"所有运行的PHP脚本

答案 1 :(得分:5)

您可以使用以下命令停止服务器:

php bin/console server:stop

或者您可以强制服务器启动,即使以前的服务器正在运行:

php bin/console server:start --force

有关详细信息,请查看doc

答案 2 :(得分:1)

这适用于Symfony5。在VSCode中打开集成终端。

首先停止正在运行的本地服务器:

symfony local:server:stop

然后开始一个新的:

symfony server:start

打开浏览器并导航至:127.0.0.1:8000

如果无法识别命令symfony,则需要按照以下说明安装Symfony:Install Symfony

答案 3 :(得分:0)

首先检查端口8000上正在运行什么进程。

ps aux | grep 8000

您应该这样:

username       94169   0.0  0.0  4427240    396 s018  S    18Jun19   6:43.42 /usr/local/Cellar/php56/5.6.33_9/bin/php -S 127.0.0.1:8000 /Users/myuser/app...

获取PID并杀死它。

kill -9 94169

重新运行ps aux命令,并确保该进程不再存在。 如果仍然存在,则可能需要使用sudo运行。

您的服务器:启动应在此之后工作。

干杯!

答案 4 :(得分:0)

使用ps aux | grep 8000对我不起作用,我认为这是因为我使用的是独立的Web服务器而不是捆绑软件。

根据@Twinfriends的评论,以下内容对我有用:

在终端中:
lsof -wni tcp:8000
这将显示您用来执行的PID:
kill -9 PID
用您的PID号替换“ PID”