Instale los módulos PECL sin las indicaciones

90

Acabo de instalar PHP en Ubuntu Natty desde la fuente.

Estoy tratando de utilizar PECL para instalar módulos adicionales como APC y Memcache. Estoy usando algo como esto:

pecl install apc

Sin embargo, recibo indicaciones pidiéndome que confirme las cosas.

¿Cómo puedo usar el comando pecl para aceptar los valores predeterminados? Vi algo como esto en un foro: printf "yes\n" | pecl install pecl_http. Sin embargo, en el caso de APC, esto respondería sí para las cosas en las que el valor predeterminado es no (creo).

Gracias por adelantado.

Colina de Obinwanne
fuente
1
@Gordon: Lo intenté, pero no parece haber una forma de manejar lo que necesito.
Obinwanne Hill
1
En el caso de que los valores predeterminados sean aceptables, en modo no interactivo, no se requiere el indicador PECL. Por ejemplo, si agrega a un Dockefile RUN pecl install apc, en el momento de la compilación, obtendrá los valores predeterminados seleccionados automáticamente.
Dereckson

Respuestas:

83

El siguiente código parece funcionar bien:

printf "\n" | pecl install apc

También puede reemplazar apc con cualquier otro paquete PECL.

Salud.

Colina de Obinwanne
fuente
8
También estoy viendo el éxito con yes | pecl install memcache, aunque supongo que su solución funciona mejor para paquetes donde el valor predeterminado es algo diferente a "sí"
Frank Farmer
1
Gracias amigo, esto incluso funcionó con CircleCI
Jujhar Singh
79

El comando "sí" puede hacer más que escribir "sí"; puede escribir lo que quiera, una y otra vez. Incluir una línea vacía, que es una buena forma de aceptar valores predeterminados.

Solo necesitaba esto para mí, así que esto es lo que funcionó bien para mí:

yes '' | pecl install -f apc
Tom Boutell
fuente
Gracias por la entrada, Tom. ¿Tu código estaba destinado a ser "yes\n" | pecl install -f apc?
Obinwanne Hill
4
@ObinwanneHill: Tom se refería al yescomando. El beneficio de esto printfes que genera resultados repetidamente, lo que lo hace más portátil en caso de que el instalador pecl solicite preguntas adicionales de las esperadas en el script printf.
jmikola
@jmikola Oh, ya veo, no estaba familiarizado con ese comando. Gracias
Obinwanne Hill
8

La respuesta de Obinwanne's Hill me la clavó, por lo que no proporciono nada nuevo aquí, pero lo siguiente parece ser el más corto y sin herramientas sofisticadas.

echo '' | pecl install apc
Ian Bytchek
fuente
6
Una alternativa más corta para lograr el mismo resultado es:pecl install apc <<<''
Guss