Composer使用错误的php版本,但php -v显示正确的版本(Ubuntu)

Pri*_*muS 12 php ubuntu composer-php

我正在尝试安装我的作曲家包,但它给了我这个:

This package requires php >=7.0.0 but your PHP version (5.5.9)

但是php -v给我这个:PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )

我正在运行一台Ubuntu 16.04.3 LTS机器,我发现了Mac和Windows的一些灵魂,但似乎没有人在Linux上有这个问题?

egd*_*vid 8

如果您使用的是基于 Debian 的系统,您可以使用以下命令要求它全局使用特定版本(取决于您的 php 版本的安装方式和位置):

sudo update-alternatives --set php /usr/bin/php7.2
Run Code Online (Sandbox Code Playgroud)

update-alternatives 创建、删除、维护和显示有关构成 Debian 替代系统的符号链接的信息。


use*_*632 7

尝试这个:

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

或在composer.json中

"config": {
    "preferred-install": "dist",
    "platform": {
        "php": "7.0.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

在第二溶液基本上你编造一个平台,并运行composer.phar update在此之后

  • @Roland 是正确的,这无论如何都不是答案。& @Roland 有点错误,OP 可以有多个 PHP 版本,但已将所需的版本设置为默认值。在 ubuntu OP 中可以使用 `sudo apt update-alternative --config php` 来实现 (3认同)
  • 这是可行的,但是造成这种情况的原因是什么?`which php` 显示 `/usr/bin/php` 和 `/usr/bin/php -v` 也显示 `7.0.22`... (2认同)
  • 不,忽略平台要求是完全错误的,它隐藏了实际问题本身。确保您只安装了一个 PHP 版本。那么这应该可以解决问题。请参阅下面我的回复。 (2认同)