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

时间:2017-08-28 07:46:07

标签: 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上有这个问题?

5 个答案:

答案 0 :(得分:6)

试试这个:

composer install --ignore-platform-reqs

或者在composer.json

"config": {
    "preferred-install": "dist",
    "platform": {
        "php": "7.0.0"
    }
}

在第二个解决方案中,你基本上是伪造一个平台,并在此之后运行composer.phar update

答案 1 :(得分:1)

composer在此引用PHP可执行文件,如下所示:

#!/usr/bin/env php

当我which php时,我在GIT-Bash(Windows 10)下获得/c/Program Files/php-7.1/php

在Linux下(在家里我有Debian),php可能是实际PHP二进制文件的符号链接。

请执行以下操作:

  • 使用php仔细检查所述ls -l 'which php'(您必须使用反向标记替换',因为stackoverflow不允许转义=显示它们)
  • 确保您只安装了一个PHP版本,这可能导致混合不兼容的版本,这可能是您的问题的根本原因

这应该有助于找到根本原因。

答案 2 :(得分:0)

试试这个对我有用:

  alias php='/usr/local/php7/bin/php'

php composer.phar install

答案 3 :(得分:0)

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

sudo update-alternatives --set php /usr/bin/php7.2
  

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

答案 4 :(得分:0)

在这里共享是因为我遇到了同样的问题,并且在搜索时首先找到了该线程。 对我来说,我有一台装有PHP 5.6的Windows服务器。以及PHP 7.2。在上面。我已将IIS配置为使用7.2,但5.6仍在path下的环境变量中。打开“系统属性”>“高级”选项卡>“环境变量...”。编辑“路径”,然后从路径中删除对“ C:/程序文件(x86)/PHP/v5.6”的引用并保存。 重新启动终端,您应该已设置好。希望能对某人有所帮助。