bash - 如何在composer之前使用各自的php版本名称

标签 bash magento composer-php

我尝试使用 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 所做的那样?

最佳答案

共有三个选项:

  1. 使用另一个 PHP 版本运行 composer,例如。通过 php-7.0 $(which composer)
  2. 通过像 "platform": { "php": "7.0.12"} 这样的配置键向您的 composer.json 添加不同的版本要求(请参阅 https://getcomposer.org/doc/06-config.md#platform更多详情)
  3. 使用标志 --ignore-platform-reqs 运行 composer 以完全忽略平台要求。然后安装您需要的任何内容,无需检查已安装的 PHP 版本或扩展

关于bash - 如何在composer之前使用各自的php版本名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004979/

相关文章:

php - 不能要求 laravel/passport 与 Composer

ssl - Composer 完全禁用https

linux - Bash - 获取端口 ID 的脚本

bash - 在 bash 中,如何 cmd1 |当 cmd1 失败时,cmd2 返回 cmd1 的状态码?

bash - 启动 Python .py 脚本的别名

bash - 如何使用 Sphinx 记录 bash 脚本?

php - Magento 模块中的 Mydomain 错误

magento 将结帐付款重定向到第三方网关

php - Magento 产品分类

php - 当我在docker中使用composer时“Could not delete ./”