Cài đặt mô-đun PECL mà không cần lời nhắc


90

Tôi vừa cài đặt PHP trên Ubuntu Natty từ nguồn.

Tôi đang cố gắng sử dụng PECL để cài đặt các mô-đun bổ sung như APC và Memcache. Tôi đang sử dụng một cái gì đó như thế này:

pecl install apc

Tuy nhiên, tôi nhận được lời nhắc yêu cầu tôi xác nhận mọi thứ.

Làm cách nào tôi có thể sử dụng lệnh pecl để chỉ chấp nhận các giá trị mặc định? Tôi nhìn thấy một cái gì đó như thế này trên một bảng thông báo: printf "yes\n" | pecl install pecl_http. Tuy nhiên, trong trường hợp APC, điều này sẽ trả lời có cho những thứ mà mặc định là không (tôi nghĩ).

Cảm ơn trước.


1
@Gordon: Tôi đã thử điều đó nhưng dường như không có tay cầm cho những gì tôi cần.
Đồi Obinwanne

1
Đối với trường hợp các giá trị mặc định được chấp nhận, ở chế độ không tương tác, không cần nhắc PECL. Ví dụ: nếu bạn thêm vào Dockefile RUN pecl install apc, tại thời điểm xây dựng, bạn sẽ tự động chọn các giá trị mặc định.
Dereckson

Câu trả lời:


83

Đoạn mã sau có vẻ hoạt động tốt:

printf "\n" | pecl install apc

Bạn cũng có thể thay thế apc bằng bất kỳ gói PECL nào khác.

Chúc mừng.


8
Tôi cũng thấy thành công với yes | pecl install memcache- mặc dù tôi cho rằng giải pháp của bạn hoạt động tốt hơn đối với các gói nơi mặc định là một cái gì đó khác hơn là "có"
Frank Farmer

1
Cảm ơn anh chàng, điều này thậm chí làm việc với circleCI
Jujhar Singh

79

Lệnh "có" có thể làm được nhiều việc hơn là chỉ gõ "có"; nó có thể gõ bất cứ thứ gì bạn muốn, lặp đi lặp lại. Bao gồm một dòng trống, đó là một cách tốt để chấp nhận giá trị mặc định.

Bản thân tôi chỉ cần điều này, vì vậy đây là những gì làm việc tốt cho tôi:

yes '' | pecl install -f apc

Cảm ơn vì đầu vào, Tom. Mã của bạn có nghĩa là "yes\n" | pecl install -f apc?!
Đồi Obinwanne

4
@ObinwanneHill: Tom đang đề cập đến yeslệnh. Lợi ích của việc này printflà nó tạo ra đầu ra lặp đi lặp lại, điều này làm cho nó dễ di động hơn nếu trình cài đặt pecl nhắc nhở các câu hỏi bổ sung so với printfdự kiến ​​theo kịch bản của bạn .
jmikola

@jmikola Ồ, tôi hiểu rồi, không quen với lệnh đó. Cảm ơn
Obinwanne Hill

8

Câu trả lời của Obinwanne's Hill đã đóng đinh nó cho tôi, vì vậy tôi không cung cấp bất kỳ điều gì mới ở đây, nhưng phần sau có vẻ là câu trả lời ngắn nhất tuyệt đối mà không cần bất kỳ công cụ ưa thích nào.

echo '' | pecl install apc

6
Một cách thay thế ngắn hơn để đạt được kết quả tương tự là:pecl install apc <<<''
Guss
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.