使 Puphpet/Vagrant 框上的 PHP 使用特定的子版本,例如7.0.4 与 7.0.5

Make PHP on a Puphpet/Vagrant box use specific sub version e.g. 7.0.4 vs 7.0.5

使用 puphpet 典型的 config.yaml php 部分可能如下所示:

php:
install: '1'
settings:
    version: '70'
modules:
    php:
        - ioncube-loader

我安装了很多其他 PHP 模块,但它的 ioncube 我遇到了问题。

直到早些时候,这是使用 PHP 7.0.4 进行配置的,它似乎有一个用于 Ioncube 加载程序的 yum 包。

我只需要重新运行 vagrant provision 现在突然间我似乎在 PHP 7.0.5.

通常没什么大不了的,除了现在我遇到了 ioncube 的依赖项问题(ioncube 加载器对于 运行 我需要的一些加密的第 3 方代码至关重要)。

我的问题是:是否可以将 php 锁定到 7.0.4?

version: '704' 无效。

也只是为了检查我是否正确理解了错误消息:

Error: Package: php-ioncube-loader-5.1.2-1.el6.remi.5.4.x86_64 (remi)
       Requires: php(zend-abi) = 20100525-x86-64
       Installed: php-common-7.0.5-1.el6.remi.x86_64 (@remi-php70)
           php(api) = 20151012-64
       Available: php-common-5.4.45-5.el6.remi.x86_64 (remi)
           php(api) = 20100412-x86-64
       Available: php-common-5.4.45-7.el6.remi.x86_64 (remi)
           php(api) = 20100412-x86-64
       Available: php-common-7.0.4-1.el6.remi.x86_64 (remi-php70)
           php(api) = 20151012-64
       Available: php55u-common-5.5.33-1.ius.centos6.x86_64 (ius)
           php(api) = 20121113-64
       Available: php56u-common-5.6.19-1.ius.centos6.x86_64 (ius)
           php(api) = 20131106-64
       Available: php70u-common-7.0.4-1.ius.centos6.x86_64 (ius)
           php(zend-abi) = 20151012-64

欢迎其他建议,我只需要 ioncube loader 在这 1 个项目上工作,我就在这里吗?看起来它适用于 php 的每个版本,除了自上次提供以来神奇地出现在我的版本上的版本。完全有可能我找错树了....

哼哼

version: '704' doesn't work

应该是

settings:
    version: '7.0.4'

ioncube 加载器尚不兼容 PHP 7,无论您安装什么版本(7.0.4 或 7.0.5)。

Compatibility list

另见:upstream forum thread

Pu 的作者PHP在这里。

不幸的是,不支持子版本 (7.0.x),仅支持主要版本 (7.0)。

这是因为每个发行版甚至每个 PHP 版本在 INI 位置和模块目录方面都非常不同。太可笑了。

可以 轻松添加的是对 YAML 文件的 ensure 字段的支持,您可以将特定版本传递到该文件。介意在我的 github 追踪器上开一张票以启用此功能吗?