web-dev-qa-db-ja.com

peclでphp拡張機能をインストールするときにconfigureオプションを渡すにはどうすればよいですか?

peclコマンドを使用してインストールするときにconfigureオプションを渡す必要があるPHP拡張機能があります。これを行う方法が見つかりません。

もちろん手動でインストールすることもできますが、1つのコマンドでインストールできるようにする必要があります。これにより、puppetから簡単にインストールできるようになります。

何か案は?

6
Piavlo

デフォルトを受け入れるには、次を使用できます。

printf "\n" | pecl install memcache

見つかりました ここ

7
ximo

http://old.nabble.com/unattended-PECL-installs--td29760522.html に基づいて、次のことを試すことができます。

yes no | pecl install memcache 

すべての質問に「いいえ」と答える、または:

printf "yes\n" | pecl install memcache 

「はい」と一度答える。

しかし、どちらの答えも非常に満足のいくものではありません。

1
drewish

未解決のバグ (執筆時点で3歳)がネイティブPECLプロバイダーを要求し、 Pearパッケージ用の同様の古いもの があります。どちらもすぐにPuppetに含まれるようには見えません。

ここにはPECLプロバイダーとPearプロバイダーがあります これをPuppetセットアップに含めることができます。 ここには別のPECLプロバイダーもあります 。私はそれらを自分でテストしたことがなく、それらがどれほど使いやすいか、またはどれだけうまく機能するかを保証することはできません。

私が見た中で最高の提案 には、.debまたは.rpmパッケージとして使用する各PECL拡張機能を再パッケージ化し、独自の内部リポジトリを実行するか、パッケージファイルをプッシュする必要があります。 puppetを介して、dpkgまたはrpmを介してインストールします。 ここにDebianベースのディストリビューションのHOWTOがあります

状況に応じて、PECL拡張機能を開発ボックスのステージングディレクトリにインストールし、必要なコマンドラインオプションを手動で指定してから、作成されたものをOSパッケージ管理システムのパッケージにパッケージ化します。

利点は、apt、pecl、pear、gemなどのすべてではなく、単一のパッケージ管理システムを使用することです。欠点は、これらの拡張機能を自分で再パッケージ化するため、アップストリームプロバイダー(この場合はpecl)を監視する必要があることです。 )セキュリティパッチが適用されるたびにパッケージを更新します。

1
Ladadadada