我想使用 Symfony Web 服务器进行本地开发,但令我惊讶的是 Symfony 实际上带有两个服务器:
- Symfony local web server - 从
symfony server:start
开始
- Web Server Bundle - 从
bin/console server:start
开始
我发现拥有这两个选项非常令人困惑,因为文档似乎没有给您任何关于为什么应该使用其中一个而不是另一个以及在什么情况下使用的提示。
据我所知,它看起来像 Web 服务器 bundle (bin/console server:start
):
- 只是 PHP 内置 Web 服务器的包装
- 使用 Composer 安装
而 Symfony 本地 Web 服务器(symfony server:start
):
- 是一个成熟的网络服务器
- 必须是 installed as standalone (作为
symfony
命令的一部分)
不过,我还是很难理解他们为什么要发布这两个选项。乍一看,Symfony 本地 Web 服务器似乎更强大;在这种情况下,他们为什么还要发布网络服务器 bundle ?
最佳答案
如 Web Server Bundle docs 中所述:
Deprecated since version 4.4: This article explains how to use the WebServerBundle to run Symfony applications on your local computer. However, that bundle is deprecated since Symfony 4.4 and will be removed in Symfony 5.0.
Instead of using WebServerBundle, the preferred way to run your Symfony applications locally is to use the Symfony Local Web Server.
因此推荐的方法是使用 symfony server:start
为开发中的应用程序提供服务。
感谢@Cerad 和@Jakub Matczak 的评论。
关于symfony - symfony 服务器和 bin/console 服务器之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57147902/