我正在尝试安装我的作曲家软件包,但它给了我这个:
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 上遇到这个问题?
试试这个:
composer install --ignore-platform-reqs
或者composer.json中的这个
"config": {
"preferred-install": "dist",
"platform": {
"php": "7.0.0"
}
}
在第二个解决方案中,基本上你是在伪造一个平台,然后在这之后运行
composer.phar update
如果您使用基于 Debian 的系统,您可以使用以下命令要求其全局使用特定版本(取决于您的 php 版本的安装方式和位置):
sudo update-alternatives --set php /usr/bin/php7.2
update-alternatives 创建、删除、维护和显示 有关构成 Debian 的符号链接的信息 替代系统。
试试这个,它对我有用:
alias php='/usr/local/php7/bin/php'
php composer.phar install
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`
这应该可以帮助您找到根本原因。
嗯,这对我有用
$ alias composer="php /usr/bin/composer.phar"
$ composer install
例如,在别名中使用确切的 php 二进制文件
$ alias composer="php8.1 /usr/bin/composer.phar"
只是在这里分享,因为我遇到了同样的问题,并在搜索时首先发现了这个线程。 对我来说,我有一个带有 PHP 5.6 的 Windows 服务器。以及 PHP 7.2。?在上面。我已将 IIS 配置为使用 7.2,但 5.6 仍在路径下的环境变量中。打开系统属性>高级选项卡>“环境变量...”。编辑“path”,并从路径中删除对“C:/program files (x86)/PHP/v5.6”的引用并保存。 重新启动你的终端,你就应该被设置了。希望对某人有帮助。
我最近遇到了同样的问题。
php --version
返回了7.4.30
,但是Composer说它使用的是PHP 8.0.18。
事实证明 Composer 使用的是自己的 PHP 版本。
composer
脚本包含 PHP 8 的硬编码路径。(对我来说,这是一个 Composer 错误,因为 Composer 应该尊重 config.platform.php
文件的 composer.json
属性的值。)
一个选项可能是alias
composer
:
alias composer='/usr/local/bin/php /usr/bin/composer.phar
另一种选择可能是重写
composer
:
cat /usr/bin/composer \
| sed 's~/usr/bin/php8~/usr/local/bin/php~g' \
> /usr/bin/composer.tmp
mv /usr/bin/composer.tmp /usr/bin/composer
我就是这样发现的。首先,我想找到
composer
的位置。通过使用 whereis composer
,可以找到 composer
命令的路径。对我来说,它回来了
composer: /usr/bin/composer
然后我想查看
/usr/bin/composer
的内容,这样我就可以了解 composer
命令在幕后做了什么。通过使用 cat /usr/bin/composer
,可以打印 composer
脚本的内容。对我来说,它回来了
#!/bin/sh
/usr/bin/php8 /usr/bin/composer.phar "$@"
就是这样。
composer
命令使用硬编码 /usr/bin/php8
来执行 composer.phar
文件。
以上均不适用于 centos 7。 执行此命令后,composer php 版本已修复 正确答案如下
SSH 命令:
scl enable ea-php74 'composer diagnose'
/opt/cpanel/ea-php81/root/usr/bin/php /opt/cpanel/composer/bin/composer install
以上命令解决了我的问题。