Zainstaluj moduły PECL bez monitów


90

Właśnie zainstalowałem PHP na Ubuntu Natty ze źródła.

Próbuję użyć PECL do zainstalowania dodatkowych modułów, takich jak APC i Memcache. Używam czegoś takiego:

pecl install apc

Jednak otrzymuję monity z prośbą o potwierdzenie.

Jak mogę użyć polecenia pecl, aby po prostu zaakceptować wartości domyślne? Widziałem coś takiego na pokładzie wiadomość: printf "yes\n" | pecl install pecl_http. Jednak w przypadku APC oznaczałoby to odpowiedź twierdzącą w przypadku rzeczy, w których domyślnie nie jest (tak myślę).

Z góry dziękuję.


1
@Gordon: Próbowałem, ale wydaje mi się, że nie ma uchwytu na to, czego potrzebuję.
Obinwanne Hill

1
W przypadku, gdy wartości domyślne są dopuszczalne, w trybie nieinteraktywnym monit PECL nie jest wymagany. Na przykład, jeśli dodasz do Dockefile RUN pecl install apc, w czasie kompilacji otrzymasz automatycznie wybrane wartości domyślne.
Dereckson

Odpowiedzi:


83

Poniższy kod wydaje się działać poprawnie:

printf "\n" | pecl install apc

Możesz również zastąpić apc dowolnym innym pakietem PECL.

Twoje zdrowie.


8
Widzę również sukces z yes | pecl install memcache- chociaż przypuszczam, że twoje rozwiązanie działa lepiej dla pakietów, w których domyślnym ustawieniem jest coś innego niż „tak”
Frank Farmer

1
Dzięki stary, zadziałało to nawet z CircleCI
Jujhar Singh

79

Polecenie „tak” może zrobić więcej niż tylko wpisanie „tak”; może pisać, co chcesz, w kółko. Dołączanie pustego wiersza, co jest dobrym sposobem na zaakceptowanie wartości domyślnych.

Po prostu tego potrzebowałem, więc oto, co działało dobrze:

yes '' | pecl install -f apc

Dzięki za wkład, Tom. Czy twój kod miał być "yes\n" | pecl install -f apc?!
Obinwanne Hill

4
@ObinwanneHill: Tom odnosił się do yespolecenia. Zaletą tego rozwiązania printfjest to, że generuje dane wyjściowe wielokrotnie, co czyni go bardziej przenośnym, gdyby instalator pecl poprosił o dodatkowe pytania, niż printfoczekiwano w skrypcie .
jmikola,

@jmikola Och, rozumiem, nie znałem tego polecenia. Dzięki
Obinwanne Hill

8

Odpowiedź Obinwanne's Hill przydała mi się, więc nie przedstawiam tutaj nic nowego, ale poniższe wydaje się być absolutnie najkrótsze, również bez żadnych wymyślnych narzędzi.

echo '' | pecl install apc

6
Krótsza alternatywa dla osiągnięcia tego samego wyniku to:pecl install apc <<<''
Guss
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.