致命错误:composer.lock 是为 PHP 7.4 或更高版本创建的,但当前的 PHP 版本是 7.3.11

Mus*_*usa 18 php symfony

我想创建一个 Symfony CRUD 应用程序。这些是我做的步骤:

  • 使用 PHP 7.3.11 从这里下载并安装 XAMPP https://www.apachefriends.org/de/index.html
  • htdocs使用 Windows 的 CLI导航到。
  • 使用命令创建了一个 symfony 项目 composer create-project symfony/skeleton my_project
  • 打开我的浏览器 (Firefox 70.0.1) 并导航到 URL: localhost/my_project/public/

在这里我收到错误消息:

致命错误:composer.lock 是为 PHP 7.4 或更高版本创建的,但当前的 PHP 版本是 7.3.11。

当我在 CLI 中检查我的 php 版本时,php -v我得到的结果是我使用的是 PHP 7.4.0 (cli)。当我通过单击 XAMPP 仪表板上的 PHPInfo(localhost/dashboard/phpinfo.php)检查 php 版本时,页面显示 php 版本 7.3.11。

在创建的 symfony 文件夹中有一个名为symfony.lock的文件。有一个条目叫做 "php": { "version": "7.4" },。更改此条目并没有解决我的问题。

任何想法如何解决这个问题?为什么我不能用 XAMPP 安装和测试最新的 symfony?

非常感谢伙计们!

穆萨

del*_*8uk 25

值得庆幸的是,这很容易修复。您可以告诉 composer.json 安装基于特定 PHP 版本的供应商库。

例如,我们有一个项目目前正在从 PHP5 迁移到 PHP7。我们无法安装仅 PHP7 版本的库,因此我们将其添加到您的 composer.json 中:

  "config": {
    "platform": {
      "php": "5.3.29"
    }
  },
Run Code Online (Sandbox Code Playgroud)

现在你应该可以安装了。删除你的composer.lock,然后运行composer install

这是相关文档:

https://getcomposer.org/doc/06-config.md#platform


use*_*915 24

你应该跑 composer dump-autoload


Ogu*_*han 5

对于最终来这里寻求解决方案的人来说,这最终对我有用;

composer install --ignore-platform-reqs
Run Code Online (Sandbox Code Playgroud)


Mah*_*ari 1

您可以运行composer update以重新安装与您的 PHP 版本兼容的供应商库版本。