Installez les modules PECL sans les invites


90

Je viens d'installer PHP sur Ubuntu Natty à partir de la source.

J'essaye d'utiliser PECL pour installer des modules supplémentaires comme APC et Memcache. J'utilise quelque chose comme ça:

pecl install apc

Cependant, je reçois des invites me demandant de confirmer les choses.

Comment puis-je utiliser la commande pecl pour simplement accepter les valeurs par défaut? J'ai vu quelque chose comme ça sur un forum: printf "yes\n" | pecl install pecl_http. Cependant, dans le cas d'APC, cela répondrait oui pour les choses où la valeur par défaut est non (je pense).

Merci d'avance.


1
@Gordon: J'ai essayé mais il ne semble pas y avoir de poignée pour ce dont j'ai besoin.
Obinwanne Hill

1
Dans le cas où les valeurs par défaut sont acceptables, en mode non interactif, l'invite PECL n'est pas requise. Par exemple, si vous ajoutez à un Dockefile RUN pecl install apc, au moment de la construction, vous obtiendrez les valeurs par défaut automatiquement sélectionnées.
Dereckson

Réponses:


83

Le code suivant semble fonctionner correctement:

printf "\n" | pecl install apc

Vous pouvez également remplacer apc par n'importe quel autre package PECL.

À votre santé.


8
Je vois également du succès avec yes | pecl install memcache- bien que je suppose que votre solution fonctionne mieux pour les paquets où la valeur par défaut est autre chose que "oui"
Frank Farmer

1
Merci mec, cela a même fonctionné avec CircleCI
Jujhar Singh

79

La commande "yes" peut faire plus que simplement taper "yes"; il peut taper tout ce que vous voulez, encore et encore. Inclure une ligne vide, ce qui est un bon moyen d'accepter les valeurs par défaut.

J'en avais juste besoin moi-même, alors voici ce qui a bien fonctionné pour moi:

yes '' | pecl install -f apc

Merci pour votre contribution, Tom. Votre code était-il censé l'être "yes\n" | pecl install -f apc?!
Obinwanne Hill

4
@ObinwanneHill: Tom faisait référence à la yescommande. L'avantage de ceci printfest qu'il génère une sortie à plusieurs reprises, ce qui le rend plus portable si l'installateur pecl vous demande des questions supplémentaires que votre script printfprévu.
jmikola le

@jmikola Oh je vois, n'était pas familier avec cette commande. Merci
Obinwanne Hill

8

La réponse d'Obinwanne's Hill me l'a permis, donc je ne propose rien de nouveau ici, mais ce qui suit semble être le plus court absolu, sans outils sophistiqués.

echo '' | pecl install apc

6
Une alternative plus courte pour obtenir le même résultat est:pecl install apc <<<''
Guss
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.