symfony - symfony 服务器和 bin/console 服务器之间的区别?
问题描述
我想使用 Symfony 网络服务器进行本地开发,但令我惊讶的是 Symfony 实际上带有两个服务器:
- Symfony 本地网络服务器- 开始于
symfony server:start
- Web Server Bundle - 开始于
bin/console server:start
我发现拥有这两个选项非常令人困惑,因为文档似乎没有给您任何提示,说明为什么您应该使用其中一个选项以及在什么情况下使用。
据我所知,它看起来像 Web Server Bundle ( bin/console server:start
):
- 只是 PHP 内置 Web 服务器的一个包装器
- 使用 Composer 安装
而 Symfony 本地 Web 服务器(symfony server:start
):
- 是一个成熟的网络服务器
- 必须作为独立安装(作为
symfony
命令的一部分)
尽管如此,我还是很难理解他们为什么会发布这两个选项。乍一看,Symfony 本地 Web 服务器似乎更强大;在这种情况下,他们为什么还要发布 webserver 捆绑包?
解决方案
如Web Server Bundle 文档中所述:
4.4 版后已弃用:本文解释了如何使用 WebServerBundle 在本地计算机上运行 Symfony 应用程序。然而,该包自 Symfony 4.4 起已弃用,并将在 Symfony 5.0 中删除。
除了使用 WebServerBundle,在本地运行 Symfony 应用程序的首选方法是使用 Symfony 本地 Web 服务器。
所以推荐的方法是使用symfony server:start
来为开发中的应用程序提供服务。
感谢@Cerad 和@Jakub Matczak 的评论。
推荐阅读
- ios - SwiftUI:隐藏和恢复视图后在搜索栏视图中保留搜索词
- python-3.x - 我不知道为什么我在这里得到“只能将 str(而不是“int”)连接到 str”错误
- lisp - Lisp 中的布尔返回函数
- javascript - 在 Next.js 中更新表单数据
- android - 如何在 Kotlin 中将 Parcelable 序列化为字符串?
- java - JVM 如何在内部使用以下表达式: Object c = new SomeClass();
- xcode - 无法在 Mac 上更新 CocoaPods
- nestjs - 如何在 Nestjs Fastify 适配器中使用 csrf 保护
- sql - SQL where exists 不一样的计数
- c - “列表”作为不合格的数据结构