【问题标题】:How to start local server with symfony 5 or downgrade version to 4.4?如何使用 symfony 5 启动本地服务器或将版本降级到 4.4?
【发布时间】:2020-03-29 03:58:52
【问题描述】:

我在新的 Symfony 5 中开始了一个新项目,但我无法打开我的本地服务器。

在 Symfony 4.4 上,命令 PHP bin/console server:run 可以,

但是对于 Symfony 5,该命令似乎没有被定义...

C:\Users\Chris\Code\api-test> php bin/console server:run
Command "server:run" is not defined.
Do you want to run "server:dump" instead?  (yes/no) [no]:

那么如何降级或者启动本地服务器呢?

【问题讨论】:

  • 这个命令在 Symfony 4.4 中被弃用并且在 Symfony 5 read here 上被移除,你可以使用 Symfony Local Web Server 代替。请注意,您上面提供的链接是实际的 Web 服务器应用程序配置,可用于生产。此命令仅用于开发。

标签: php symfony symfony4 symfony5 symfony-4.4


【解决方案1】:

Web Server Bundle 不包含 Symfony 5。

但您可以简单地require 并单独安装它。

例如:

composer require symfony/web-server-bundle 4.4

请务必指定版本 (4.4),否则它将尝试安装版本 5(不存在,并且会失败)。

之后,您将能够像以前一样运行bin/console server:run


如果没有,如果您已经在使用 symfony 可执行文件,您可以改为运行:

symfony server:start

详细了解 Symfony 的服务器 here


您也可以在 PHP 运行时使用built-in web server。只需转到项目的根目录并运行:

php -S localhost:8000 -t public/

它不是一个功能齐全的网络服务器,但对于开发目的而言,它通常绰绰有余。

【讨论】:

  • 这应该是正确答案的标记。谢谢朋友
  • 应该注意 server:run 与内置 php 的 web 服务器相比没有明显的优势,并且 server:start 不能在 symfony 5.*+ 上运行。*+
【解决方案2】:

为了运行本地网络服务器,您现在可以使用 Symfony 客户端,或者简单地使用“Symfony”。

  1. Download 二进制文件并全局安装。

  2. 打开一个终端并运行一次:symfony server:ca:install。这将安装一个本地 SSL 证书颁发机构,允许您在 https:// 上运行本地网络服务器。

  3. 在终端中,进入您的项目目录并运行symfony serve。本地网络服务器将启动;默认为https://localhost:8000/

如果您希望在另一个端口上运行网络服务器,您可以使用symfony serve --port=8080(在本例中为端口8080)。对于 Symfony 客户端必须提供的最有用的命令,只需运行 symfony。要查看所有可用命令,请运行 symfony help

【讨论】:

    【解决方案3】:

    我使用的是 symfony 5,我只是将之前的命令 php bin/console server:run" 替换为 php -S localhost:3000 -t public,它的工作方式类似。

    -tpublic 表示目标文件。

    【讨论】:

      【解决方案4】:

      你需要通过运行这些命令来安装 symfony: cd 我的项目 作曲家需要 symfony/web-server-bundle --dev 并运行服务器 php bin/控制台服务器:运行

      【讨论】:

        猜你喜欢
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多