如何避免使用 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
到运行服务器好运
我发现我注册了很多 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
到运行服务器好运