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.


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.


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

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

6
Una alternativa más corta para lograr el mismo resultado es:pecl install apc <<<''
Guss
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.