Installa i moduli PECL senza i prompt


90

Ho appena installato PHP su Ubuntu Natty dalla sorgente.

Sto cercando di utilizzare PECL per installare moduli aggiuntivi come APC e Memcache. Sto usando qualcosa del genere:

pecl install apc

Tuttavia, ricevo messaggi che mi chiedono di confermare le cose.

Come posso utilizzare il comando pecl per accettare solo i valori predefiniti? Ho visto qualcosa di simile su una bacheca:printf "yes\n" | pecl install pecl_http . Tuttavia, nel caso di APC questo risponderebbe sì per cose in cui l'impostazione predefinita è no (penso).

Grazie in anticipo.


1
@ Gordon: l'ho provato ma non sembra esserci una maniglia per ciò di cui ho bisogno.
Obinwanne Hill

1
Nel caso in cui i valori predefiniti siano accettabili, in modalità non interattiva, il prompt PECL non è richiesto. Ad esempio, se aggiungi a un Dockefile RUN pecl install apc, in fase di compilazione, otterrai automaticamente i valori predefiniti selezionati.
Dereckson

Risposte:


83

Il codice seguente sembra funzionare correttamente:

printf "\n" | pecl install apc

Puoi anche sostituire apc con qualsiasi altro pacchetto PECL.

Saluti.


8
Sto anche riscontrando successo con yes | pecl install memcache- sebbene suppongo che la tua soluzione funzioni meglio per i pacchetti in cui l'impostazione predefinita è qualcosa di diverso da "sì"
Frank Farmer

1
Grazie amico, ha funzionato anche con CircleCI
Jujhar Singh

79

Il comando "yes" può fare di più che digitare semplicemente "yes"; può digitare tutto quello che vuoi, più e più volte. Includere una riga vuota, che è un buon modo per accettare i valori predefiniti.

Ne avevo solo bisogno io stesso, quindi ecco cosa ha funzionato bene per me:

yes '' | pecl install -f apc

Grazie per il contributo, Tom. Il tuo codice doveva essere "yes\n" | pecl install -f apc?!
Obinwanne Hill

4
@ObinwanneHill: Tom si riferiva al yescomando. Il vantaggio di questo printfè che genera ripetutamente output, il che lo rende più portabile nel caso in cui il programma di installazione pecl richieda ulteriori domande rispetto a quelle printfpreviste dallo script .
jmikola

@jmikola Oh capisco, non conoscevo quel comando. Grazie
Obinwanne Hill

8

La risposta di Obinwanne's Hill mi ha inchiodato, quindi non sto fornendo nulla di nuovo qui, ma quanto segue sembra il più breve in assoluto anche senza strumenti fantasiosi.

echo '' | pecl install apc

6
Un'alternativa più breve per ottenere lo stesso risultato è:pecl install apc <<<''
Guss
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.