Bạn phải bật tiện ích mở rộng openssl để tải xuống tệp qua https


123

Tôi muốn cài đặt Zend Framework 2. Vì vậy, tôi đã tải xuống ứng dụng bộ xương. Như đã đề cập trong hướng dẫn sử dụng ZF2, chúng ta phải ban hành lệnh

php composer.phar install 

Bên trong bộ xương.

Nhưng tôi đang gặp lỗi

Bạn phải bật tiện ích mở rộng openssl để tải xuống tệp qua https

Sau đó, tôi kích hoạt ssl_module trong wamp của mình, tôi đã kiểm tra tệp php_ini và tôi có thể thấy dòng sau

tiện ích mở rộng = php_openssl.dll

Tôi vẫn nhận được cùng một lỗi. Bất cứ ai có bất kỳ manh mối những gì tôi bỏ lỡ?


1
Tôi gặp vấn đề này khi chạy travis-ci và hóa ra là không giống như mọi bản phân phối linux dưới ánh mặt trời, một số môi trường travis-ci cũ hơn đã được biên dịch mà không có openssl, trong trường hợp có ai khác gặp phải vấn đề tương tự.
Kzqai

@Kzqai có thể biên dịch phần mở rộng này trong travis, chẳng hạn như cho PHP 5.3.3 trong câu hỏi của tôi không? Tôi thấy trong sách dạy nấu ăn của họ rằng bạn có thể cài đặt các tiện ích mở rộng PECL, nhưng tôi không nghĩ tiện ích mở rộng openssl có sẵn thông qua PECL.
Jeff Puckett

Câu trả lời:


286

PHP CLI SAPI đang sử dụng khác php.inivới mô-đun CGI hoặc Apache.

Tìm dòng ;extension=php_openssl.dlltrong wamp/bin/php/php#.#.##/php.ini và bỏ ghi chú bằng cách xóa dấu chấm phẩy ( ;) khỏi đầu dòng.


Tôi cũng đã phải kích hoạt tiện ích mở rộng phar (extension = php_phar.dll) và như đã nói bên dưới, mô-đun ssl apache!
Diego Favero

1
"PHP CLI SAPI đang sử dụng php.ini khác với mô-đun CGI hoặc Apache." Đó là mẹo!
George D.

Nếu bạn không thể tìm thấy dòng đó trong php.inichỉ cần thêm dòng extension=php_openssl.dllbên dưới phần Tiện ích mở rộng động trong đó.
totymedli

Tôi đang sử dụng xampp, Trình soạn thảo đưa ra lỗi thiếu ssl mở tương tự ngay cả sau khi xóa ';' của phần mở rộng openssl trong php.ini.
Shashikumar Misal

Nếu bạn đang sử dụng Mac và port, bạn có thể chọn phiên bản PHP bằng cách port select php php55cài đặt tiện ích mở rộngport install php55-openssl
Mitchowo Murti

36

Xác minh bạn đang chỉnh sửa tệp php.ini chính xác.

Tham khảo: https://github.com/composer/composer/issues/1440

"WAMP sử dụng các tệp php.ini khác nhau trong CLI và cho Apache. Khi bạn bật php_openssl thông qua Giao diện người dùng WAMP, bạn kích hoạt nó cho Apache, không phải cho CLI. Bạn cần sửa đổi C: \ wamp \ bin \ php \ php- XYZ \ php.ini để kích hoạt nó cho CLI. "


2
ai có thể nghĩ rằng ... Thực sự ... Điều này đã giải quyết vấn đề. Cảm ơn
Ruwantha

20

đảm bảo bạn có đường dẫn chính xác đến thư mục mở rộng

extension_dir = "ext"

theo mặc định nó được bình luận với; tính cách


1
dòng này đã được nhận xét hoàn toàn và bây giờ nó hoạt động
Brian Dillingham

quan trọng để cài đặt windows!
haakym

Dòng này ở đâu? Trong tập tin nào? php.ini trong 1, C: \ wamp64 \ bin \ apache HOẶC 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

Tôi cũng gặp vấn đề tương tự khi chơi xung quanh Zend Framework 2 và nhà soạn nhạc. Tôi đang sử dụng PHP 5.4 (được cài đặt qua macports) và giải pháp của tôi là cài đặt openssl cho PHP 5.4 qua macports.

cổng sudo cài đặt php54-openssl

5

Tôi đã phải đối mặt với vấn đề này, nhưng việc cấu hình openssl (cũng cho cli) không giúp được gì.

Tôi đã cập nhật nhà soạn nhạc và điều này đã giải quyết vấn đề của tôi.

Chỉ loại:

$ php composer.phar self-update

hoặc là

$ composer selfupdate

Chúc may mắn!


4

Tôi sử dụng XAMPP. Trong C: \ xampp \ php \ php.ini, mục nhập cho openssl không tồn tại, vì vậy tôi đã thêm "extension = php_openssl.dll" trên dòng 989 và trình soạn thảo đã hoạt động.


4

Bạn cần bật "extension = php_openssl.dll" trong cả hai tệp (php và apache). đường dẫn tập tin máy tính của tôi là:

  1. C: \ wamp \ bin \ php \ php5.3.13 \ php.ini

  2. C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini


Cái này sai. Kiểm tra với phpinfo () mà php.ini được sử dụng
ThaDafinser

3

Uttam, nếu vấn đề của bạn chưa được giải quyết thì hãy thử cách tiếp cận 3 bước tiếp theo. Nó làm việc cho tôi vì tôi có cùng một vấn đề.

step1: nhấp vào biểu tượng khay ướt.

step2: menu goto apache-> mô-đun apache

bước 3: nhấp vào mục menu "ssl_module"

Nó sẽ tự động khởi động lại wamp. nếu wamp không được khởi động lại tự động thì hãy khởi động lại thông qua menu khay wamp-> Khởi động lại tất cả các dịch vụ. Sau khi khởi động lại, hãy xác nhận rằng "ssl_module" sẽ được đánh dấu dưới menu apache-> mô-đun apache

sau đó, chỉ cần cố gắng cài đặt trình soạn thảo php. Đi qua phản hồi được chia sẻ bởi bạn, tệp php.ini chứa phần mở rộng = php_openssl.dll và thư mục php / ext cũng có tệp "php_openssl.dll"

chúc may mắn


3

Câu trả lời của Valery đã giúp tôi: https://stackoverflow.com/a/14265815/492457

WAMP sử dụng các tệp php.ini khác nhau trong CLI và cho Apache. khi bạn kích hoạt php_openssl thông qua giao diện người dùng WAMP, bạn kích hoạt nó cho Apache, không phải cho CLI. Bạn cần sửa đổi C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini để kích hoạt nó cho CLI.


2

Hãy chắc chắn rằng bạn cập nhật php.inicho CLI. Đối với trường hợp của tôi, đây là C:\wamp\bin\php\php5.4.3\php.inivà dòng uncomment extension=php_openssl.dll.


1

Trả lời muộn nhưng thêm vào để người khác có thể tìm hiểu lý do.

Bạn cũng cần chỉnh sửa tệp php.ini ở vị trí "wamp \ bin \ php \ php-XYZ".


0

Tôi đã phải bỏ ghi chú extension=openssltrong php.inihồ sơ để mọi thứ hoạt động!


0

Thật tuyệt vời nếu bạn đang sử dụng wamp, đừng sử dụng ui ướt để kích hoạt extension=php_openssl.dll

chỉ cần đi đến thư mục php của bạn, ví dụ: C:\wamp\bin\php\php5.4.12và chỉnh sửa php.inivà bỏ ghi chú extension=php_openssl.dll.

nó nên hoạt động

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.