如何在使用pecl安装php扩展时传递configuration选项?

有一个PHP扩展,当我用pecl命令安装时,需要传递一个configuration选项。 我找不到办法做到这一点。

当然,我可以手动安装它,但是我需要它可以用一个命令来安装它 – 这样它就可以通过puppet轻松安装。

有任何想法吗?

要接受默认值,您可以使用这个:

 printf "\n" | pecl install memcache 

在这里find。

有一个出色的bug (写作时已经有3年了)要求一个本地的PECL提供者和一个类似的,老的梨包 。 它看起来不像其中任何一个即将被包含在Puppet中。

这里有PECL和Pear提供者 ,你可以在你的Puppet设置中包含这些提供者 。 这里还有另一个PECL供应商 。 我自己也没有testing过,我也不敢保证他们使用起来多么容易,或者他们的工作能力如何。

我所见过的最好的build议包括重新打包每个PECL扩展名,您将使用.deb.rpm包,并运行您自己的内部存储库或通过puppet将包文件推出并通过dpkgrpm安装。 这里有一个基于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 

一次回答“是”。

这两个答案都不是很令人满意。