我在我的库包(https://packagist.org/packages/hazardland/db)中使用apc用户缓存函数,但如您所知:
直到PHP 5.5有estension ext_apc http://pecl.php.net/package/apc(用户缓存+ opcache)
从php 5.5开始,有ext_apcu http://pecl.php.net/package/APCu,它只实现用户缓存功能,而不是opcache。
所以在我的composer.json中,我需要来要求这两个 exstensions中的一个:ext_apc或ext_apcu,无论用户有哪个。是否可以设置这种扩展依赖?
如果我只需要ext_apc,我将丢失php 5.5.x用户,但如果我只需要ext_apcu,我将丢失php 5.4.x用户。
研究后更新:
因此在作曲家提供和替换中有2个指令,但他们无法提供帮助,因为我需要ext-apc由ext-apc提供并作为ext - * - s是作曲家中的硬编码虚拟包,至少作曲家团队需要改变它们吗? (我甚至无法在packagist.org上的虚拟包列表中找到ext-apc或ext-apcu。)
答案 0 :(得分:1)
加载仅限ext-apcu 扩展名及之后:
composer show --platform
返回:
ext-apc 4.0.7 The apc PHP extension
ext-apcu 4.0.7 The apcu PHP extension
所以只需要求ext-apc 处理这两种情况。