如何避免使用 Symfony 本地服务器重复工作人员?

How to avoid duplicating workers with Symfony local server?

我发现我注册了很多 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 是更正确的方法,但这需要额外的控制台 window 并输入命令。
#2:如何杀掉之前会话注册的worker?尝试例如kill 6327 说没有这样的过程。系统重启后它们也没有消失。

那些额外的工作人员困扰着我,因为对于他们中的每一个,控制台中的服务器日志输出都是重复的。因此,现在每次向服务器发出请求时,我都会在控制台中获得大约 3k 行的日志输出。这使得它毫无用处。

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

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

rm /home/myusername/.symfony/var/83247c3521c3ac3990bf3f823ef473db0a9445e1/*

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

symfony 命令将数据添加到 ./log./var 目录。仅删除其中一个条目不会删除项目目录中 non-existent 工作人员的出现。在 server:start 从未 运行.

的目录中检查状态时,我被愚弄了

bug 报告在 symfony here.

文件中

刚遇到类似的问题。找不到 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 OS 中,日志文件保存在 %USERPROFILE%.symfony 中。您的主目录中很可能有类似的位置。删除该目录的所有内容允许新的 Windows 终端应用程序显示:

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

Workers
    No Workers

Environment Variables
    None

symfony serve:stop停止服务器并做反对symfony serve 到运行服务器好运