2

我发现我注册了很多 Symfony 本地 Web 服务器工作者(大约 35 个),而且这个数字还在不断增长。我通常只是启动服务器,symfony serve然后在不再需要时将其终止(Ctrl + \)。显然杀死它会留下一个工人,如图所示symfony server:status。再次运行symfony serve只会创建一个新的工人。

symfony server:status输出:

Local Web Server
    Not Running

Workers
    PID 6327: /usr/bin/php7.2 -S 127.0.0.1:43653 -d variables_order=EGPCS /home/mindaugas/.symfony/php/83247c3521c3ac3990bf3f823ef473db0a9445e1-router.php
    PID 24596: /usr/bin/php7.2 -S 127.0.0.1:37789 -d variables_order=EGPCS /home/mindaugas/.symfony/php/83247c3521c3ac3990bf3f823ef473db0a9445e1-router.php
    PID 6575: /usr/bin/php7.4 -S 127.0.0.1:42505 -d variables_order=EGPCS /home/mindaugas/.symfony/php/83247c3521c3ac3990bf3f823ef473db0a9445e1-router.php
    PID 41550: /usr/bin/php7.4 -S 127.0.0.1:36313 -d variables_order=EGPCS /home/mindaugas/.symfony/php/83247c3521c3ac3990bf3f823ef473db0a9445e1-router.php
    ...

Environment Variables
    None

所以我的问题是:
#1:是否可以快速杀死服务器?我认为symfony server:stop是更正确的方法,但这需要额外的控制台窗口并输入命令。
#2:如何杀死那些从以前的会话中注册的工人?尝试例如kill 6327说没有这样的过程。系统重启后它们也没有消失。

那些额外的工作人员让我很困扰,因为对于他们每个人来说,控制台中的服务器日志输出都是重复的。所以现在对服务器的每个请求我都会在控制台中得到大约 3k 行的日志输出。这使得它非常无用。

4

2 回答 2

4

升级到 Symfony CLI 版本 v4.19.0 后我遇到了同样的问题...

我的(非常)糟糕的解决方法:

rm /home/mindaugas/.symfony/var/83247c3521c3ac3990bf3f823ef473db0a9445e1/*
于 2020-10-07T00:37:02.470 回答
0

编辑:这个答案不准确,正如上面@CrSrr 的回答所暗示的那样。

symfony命令将数据添加到./log./var目录。仅删除其中一个条目不会删除项目目录中不存在的工作人员的外观。server:start我被从未运行过的目录中检查状态所愚弄。

一个 bug 报告在 symfony 的文件

刚刚遇到类似的问题。找不到PID。

PS G:\workspace\joined> symfony server:status
Local Web Server
    Not Running

Workers
    PID 7732: C:\php\php-cgi.exe -b 63801 -d error_log=C:\Users\George\.symfony\log\e79ad2f4b30a2f0a35c3b5ab08772770b382a3d6.log
    PID 19324: C:\php\php-cgi.exe -b 62927 -d error_log=C:\Users\George\.symfony\log\e79ad2f4b30a2f0a35c3b5ab08772770b382a3d6.log
    PID 17968: C:\php\php-cgi.exe -b 50197 -d error_log=C:\Users\George\.symfony\log\e79ad2f4b30a2f0a35c3b5ab08772770b382a3d6.log
    PID 14040: C:\php\php-cgi.exe -b 55075 -d error_log=C:\Users\George\.symfony\log\e79ad2f4b30a2f0a35c3b5ab08772770b382a3d6.log

Environment Variables
    None

在 Windows 操作系统中,日志文件保存在 %USERPROFILE%.symfony 中。您的主目录中很可能有类似的位置。删除该目录的所有内容允许显示一个新的 Windows 终端应用程序:

PS G:\workspace> symfony server:status
Local Web Server
    Not Running

Workers
    No Workers

Environment Variables
    None
于 2020-10-08T21:00:35.627 回答