【问题标题】:Composer require alternative: extensionA or extensionB作曲家需要替代: extension 用于扩展
【发布时间】:2015-05-26 13:26:36
【问题描述】:

我在我的库包 (https://packagist.org/packages/hazardland/db) 中使用 apc 用户缓存函数,但如您所知:

直到 PHP 5.5 才有扩展 ext_apc http://pecl.php.net/package/apc (user cache + opcache)

从 php 5.5 开始有了 ext_apcu http://pecl.php.net/package/APCu,它只实现了用户缓存功能而不是 opcache。

所以在我的 composer.json 中,我需要 要求以下两个扩展之一:ext_apc 或 ext_apcu,无论用户拥有。是否可以设置这种扩展依赖?

如果我只需要 ext_apc,我将失去 php 5.5.x 用户,但如果我只需要 ext_apcu,我将失去 php 5.4.x 用户。

研究后更新:

所以作曲家 providereplace 中有 2 个指令,但它们无济于事,因为我需要 ext-apcu 由 ext-apc 提供,并且作为 ext-*- s 是作曲家中硬编码的虚拟包,至少作曲家团队需要更改它们? (我什至在 packagist.org 上的虚拟包列表 ext-apc 或 ext-apcu 中都找不到。)

【问题讨论】:

标签: php composer-php


【解决方案1】:

已加载仅 ext-apcu 扩展及之后:

composer show --platform

返回这个:

ext-apc 4.0.7 The apc PHP extension ext-apcu 4.0.7 The apcu PHP extension

所以只需 require ext-apc 处理这两种情况。

【讨论】:

    猜你喜欢
    • 2021-03-03
    • 2012-05-01
    • 2014-09-27
    • 2015-07-11
    • 2018-05-31
    • 1970-01-01
    • 2016-05-22
    • 2018-06-22
    相关资源
    最近更新 更多