我尝试使用 Composer 安装扩展:
composer require magenest/module-worldpay-and-subscriptions:2.0.0
得到这个:
[InvalidArgumentException]
Package magenest/module-worldpay-and-subscriptions at version 2.0.0 has a PHP requirement incompatible with your PHP version (5.4.45)
当我运行 php -v
命令时,它返回:
PHP 5.4.45 (cli) (built: Nov 28 2017 10:34:31)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.0.4, Copyright (c) 2002-2017, by ionCube Ltd.
with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies
但是,我的服务器上安装了所有 PHP 版本,因此当我运行命令时,我通常会事先指定 PHP 版本,例如php-7.0 bin/magento
此外,当使用 fakechroot
时 - 它在域组本身的上下文中设置了 PHP 版本。例如,当我运行此命令时: /usr/bin/fakechroot/usr/sbin/chroot/microcloud/domains/vampm2/bin/bash
然后 php -v
我得到:
[http]$ /usr/bin/fakechroot /usr/sbin/chroot /microcloud/domains/vampm2 /bin/bash
bash-4.1$ php -v
PHP 7.0.26 (cli) (built: Dec 19 2017 17:26:19) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.0.4, Copyright (c) 2002-2017, by ionCube Ltd.
with Zend OPcache v7.0.26, Copyright (c) 1999-2017, by Zend Technologies
bash-4.1$ exit
谁能告诉我如何在没有 Composer 的情况下运行 composer require
来读取默认的 PHP 5.4?使用 Magento 版本 2.1.8
如何在指定版本中运行 Composer ,例如就像我对 Magento php-7.0 bin/magento
所做的那样?
最佳答案
共有三个选项:
- 使用另一个 PHP 版本运行
composer
,例如。通过php-7.0 $(which composer)
- 通过像
"platform": { "php": "7.0.12"}
这样的配置键向您的composer.json
添加不同的版本要求(请参阅 https://getcomposer.org/doc/06-config.md#platform更多详情) - 使用标志
--ignore-platform-reqs
运行composer
以完全忽略平台要求。然后安装您需要的任何内容,无需检查已安装的 PHP 版本或扩展
关于bash - 如何在composer之前使用各自的php版本名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004979/