我正在尝试运行我使用此命令生成的基本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计算机上。 任何帮助将不胜感激。
答案 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”