有一个PHP扩展,当我用pecl命令安装时,需要传递一个configuration选项。 我找不到办法做到这一点。
当然,我可以手动安装它,但是我需要它可以用一个命令来安装它 – 这样它就可以通过puppet轻松安装。
有任何想法吗?
要接受默认值,您可以使用这个:
printf "\n" | pecl install memcache
在这里find。
有一个出色的bug (写作时已经有3年了)要求一个本地的PECL提供者和一个类似的,老的梨包 。 它看起来不像其中任何一个即将被包含在Puppet中。
这里有PECL和Pear提供者 ,你可以在你的Puppet设置中包含这些提供者 。 这里还有另一个PECL供应商 。 我自己也没有testing过,我也不敢保证他们使用起来多么容易,或者他们的工作能力如何。
我所见过的最好的build议包括重新打包每个PECL扩展名,您将使用.deb或.rpm包,并运行您自己的内部存储库或通过puppet将包文件推出并通过dpkg或rpm安装。 这里有一个基于Debian的发行版的HOWTO 。
对于您的情况,您可以将PECL扩展安装到开发包的临时目录中,手动提供所需的命令行选项,然后将创build的内容打包到OS软件包pipe理系统的软件包中。
好处是有一个单一的包pipe理系统,而不是所有的apt,pecl,pear,gem等。缺点是由于你自己将重新包装这些扩展,所以你仍然需要监视上游提供者(pecl在你的情况下),并在安全补丁发生时更新您的软件包。
基于http://old.nabble.com/unattended-PECL-installs-td29760522.html你可以尝试:
yes no | pecl install memcache
对每个问题回答“否”,或者:
printf "yes\n" | pecl install memcache
一次回答“是”。
这两个答案都不是很令人满意。