Làm cách nào để kích hoạt tiện ích mở rộng openssl của PHP để cài đặt Composer?


113

Tôi đang cố gắng cài đặt Laravel trong thiết lập WAMP. Tôi nhận được thông báo cảnh báo vì không bật openssl mà tôi đã thực hiện trong WAMP.

Đây là ảnh chụp màn hình của tin nhắn.

nhập mô tả hình ảnh ở đây


1
Kiểm tra đường dẫn của PHP trong biến môi trường %PATH%, có thể Composer đang tìm PHP ở vị trí khác thay vì WampServer.
Rubens Mariuzzo

Tôi đã từng gặp vấn đề tương tự. Tôi đang chỉnh sửa php.ini từ biểu tượng wamp. Nhưng tôi đã làm điều đó theo cách thủ công, khởi động lại máy chủ của mình và nó hoạt động.
themhz

Câu trả lời:


121

Có thể WAMP và Composer đang sử dụng các cài đặt PHP khác nhau. Composer sẽ sử dụng bộ PHP trong PATHbiến môi trường.

Nếu bạn muốn bật tiện ích mở rộng openssl để cài đặt Composer , trước tiên bạn cần kiểm tra vị trí cài đặt PHP.

  1. Mở Command Prompt, nhập: echo %PATH%sau đó kiểm tra vị trí cài đặt PHP của bạn.
  2. Đến vị trí đó và chỉnh sửa các tập tin có tên: php.ini.
  3. Bỏ ghi chú dòng extension=php_openssl.dllbằng cách bỏ dấu chấm phẩy ở đầu.

Bây giờ bạn đã có thể cài đặt Composer.


2
Điều xảy ra là tôi không có tiện ích mở rộng này trên cài đặt XAMPP của mình. Tôi vừa thêm (extension = php_openssl.dll) trên php.ini và nó đang làm việc để tải xuống các phụ thuộc laravel.
Adrian P.

8
khi tôi nhập, echo %PATH%tôi nhận được: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin.. không có bất kỳ php nào được cài đặt trong bất kỳ thư mục nào trong số đó .. tôi phải làm gì bây giờ?
abbood

19
wamp đang sử dụng php.ini này: c: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini nhưng trình soạn nhạc đang sử dụng PHP từ CLI và do đó nó đang đọc tệp này: c: \ wamp \ bin \ php \ php5.4.12 \ php.ini (do đó bạn cần phải kích hoạt openssl có)
Enrique

2
Tôi đang sử dụng xampp, Composer đưa ra cùng một lỗi thiếu ssl mở ngay cả sau khi xóa dấu ';' của phần mở rộng openssl trong php.ini.
Shashikumar Misal

30
Tôi cũng đã phải bỏ ghi chú dòng extension_dir = "ext"trong php.ini, nhưng tôi đang sử dụng trình cài đặt PHP đơn giản thay vì WAMP.
David Harkness

62

Tôi đã giải quyết vấn đề của mình theo một cách khác. Vấn đề là GUI của wamp đã gây hiểu nhầm: nó tuyên bố rằng tôi đã php_opensslkích hoạt .. và nếu tôi nhấp vào php.inicùng một GUI .. nó thực sự cho thấy rằng extension=php_openssl.dllđã được bỏ ghi chú ..

Tôi không chắc liệu mình có đang sử dụng cùng một phiên bản trình cài đặt của trình soạn nhạc của OP hay không, nhưng nó thực sự yêu cầu bạn ngay từ đầu chỉ định phiên bản php.exemà bạn muốn áp dụng trình soạn nhạc (về cơ bản đảm bảo rằng không ai cố gắng áp dụng trình soạn nhạc cho thực thi php sai như những gì đã xảy ra với OP) ..

Cách tôi giải quyết vấn đề này là tự mình đi vào cài đặt php trong gói wamp: C:\wamp\bin\php\php5.4.12và nhìn vào php.inđó .. khi tôi mở nó ra, tôi bị sốc vì dòng extension=php_openssl.dllthực sự đã được nhận xét! Tôi bỏ ghi chú nó và nó hoạt động tốt.

nhập mô tả hình ảnh ở đây


Cảm ơn sau khi phải nhìn vào câu trả lời này tôi đã tìm ra wamp đã sử dụng 5.5.12 nhưng tôi chọn 5.4 thư mục cho php.exe
Afnan Bashir

Các tệp libeay32.dllhoặc liblibcrypto-*.dllnằm trong đường dẫn nào ? php.net/manual/de/openssl.installation.php
Bernhard Döbler

53

Tôi đã gặp vấn đề tương tự và đây là giải pháp tôi đã tìm thấy, trên php.ini của bạn, bạn cần thực hiện một số thay đổi:

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

Mọi người ở đây đều nói kích hoạt tiện ích mở rộng openssl, nhưng trong windows, bạn cũng cần kích hoạt tiện ích mở rộng.


3
Đàn ông bạn là người duy nhất được đề cập đến extension_dir, bạn thật tuyệt!
giannis christofakis 21/12/15

Điều này đã làm việc cho tôi. Tôi đã tải PHP trực tiếp như thế nào trong này turtorial .
cướp

26

Đối với máy chủ WAMP, nhận xét do "Enrique" đưa ra đã giải quyết được vấn đề của tôi.

wamp đang sử dụng php.ini này :

c:\wamp\bin\apache\Apache2.4.4\bin\php.ini

Nhưng nhà soạn nhạc đang sử dụng PHP từ CLI, và do đó nó đang đọc tệp này:

c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)

Đối với nhà soạn nhạc, bạn sẽ phải bật tiện ích mở rộng trong

c:\wamp\bin\php\php5.4.12\php.ini

Thay đổi:

;extension=php_openssl.dll 

đến

extension=php_openssl.dll

Đối với MAMP, tôi phải sao chép tệp php.ini từ C: \ MAMP \ conf \ phpx.xx sang C: \ MAMP \ bin \ php \ phpx.xx (\ conf \ .... to \ bin \ .. .)
Mike

15

Nếu bạn đang thực hiện việc này trên Windows mà không có một trong các ngăn xếp WAMP, đây là cách thực hiện

  1. Tải xuống bản cài đặt PHP cho Windows . Nói chung, bạn sẽ muốn cài đặt an toàn không theo luồng. Bạn có thể sử dụng các bản dựng 32 bit hoặc 64 bit
  2. Giải nén tệp zip ở đâu đó. Tôi sẽ đề nghị C:\php. Trình cài đặt của nhà soạn nhạc đã tìm thấy nó ở đó mà không cần thêm bất kỳ lời nhắc nào
  3. Theo mặc định, các phiên bản PHP mới nhất dành cho Windows không cóphp.ini . Thay vào đó, bạn sẽ thấy hai tệp, như được lưu ý bên dưới. Đổi tên một php.inihoặc sao chép nó vào php.ini.
    • php.ini-development
    • php.ini-production
  4. Mở php.initệp của bạn và xóa dấu chấm phẩy khỏi dòng này (bạn cũng có thể muốn bỏ ghi chú những thứ khác nhưng dòng này là dòng duy nhất cần thiết cho Composer)

    ;extension=php_openssl.dll

Đó là tất cả những gì bạn cần làm. Trình cài đặt Composer sẽ làm mọi thứ khác mà bạn cần từ đây.


2
Đây là nơi DUY NHẤT trực tuyến với giải pháp chính xác (cho thiết lập không phải WAMP). Cảm ơn!
adamdehaven

11

Bạn cần bật "extension = php_openssl.dll" trong cả hai tệp (php và apache). Đường dẫn tệp 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

8

Đây là một câu hỏi cũ nhưng tôi cũng gặp phải vấn đề tương tự (với PHP7) và giải pháp cuối cùng là khá đơn giản. php.iniMặc dù vậy, việc bỏ chú thích dòng theo các câu trả lời khác vẫn chưa đủ. Tôi cần thay đổi nó từ:

;extension=php_openssl.dll

đến:

extension=ext/php_openssl.dll

Lưu ý exttiền tố. Dll đã tồn tại nhưng nằm trong một thư mục con. Sau khi thay đổi cấu hình, trình cài đặt trình soạn nhạc rất vui.


7

bạn cần bật tiện ích mở rộng openssl trong

C:\wamp\bin\php\php5.4.12\php.ini 

đó là tệp cấu hình php có loại nó có "cài đặt cấu hình" với biểu tượng giống như trình điều khiển-notepad.

  1. mở nó bằng notepad hoặc bất kỳ trình chỉnh sửa nào,
  2. tìm kiếm openssl "ctrl + F của bạn" sẽ làm được.
  3. có dấu chấm phẩy trước phần mở rộng openssl

    ;extension=php_openssl.dll

    bỏ dấu chấm phẩy và bạn sẽ có

    extension=php_openssl.dll
  4. lưu tệp và khởi động lại máy chủ WAMP của bạn sau đó bạn đã sẵn sàng. cài đặt lại ứng dụng sẽ hoạt động.

6

Có hai php.initệp, một tệp dành cho phát triển và một tệp dành cho sản xuất. Để lại những cái đó, có một php.initệp khác cho cài đặt cấu hình ngay phía trên chúng với một biểu tượng bánh răng giống như chỉnh sửa đó.


Ngoài ra, tôi không có mặc định. Chỉ cần sao chép / dán sản phẩm / nhà phát triển và đổi tên thành php.ini, sau đó thực hiện các chỉnh sửa mà người khác đã đề xuất ở đây.
Brynn Bateman

3

Sau khi chỉnh sửa các tệp "bên phải" (tất cả các tệp php.ini). tôi vẫn còn vấn đề. Giải pháp của tôi là:

  1. Thêm biến Hệ thống: OPENSSL_CONF

    giá trị của OPENSSL_CONF phải là tệp openssl.cnf của phiên bản php hiện tại của bạn.

đối với tôi đó là:

  • C: \ wamp \ bin \ php \ php5.6.12 \ extras \ ssl \ openssl.cnf

-> Khởi động lại WAMP -> sẽ hoạt động ngay bây giờ

Nguồn: http://php.net/manual/en/openssl.installation.php


2

Tôi gặp phải vấn đề tương tự, nhưng khi tôi đăng nhập cho php.ini và php.exe, tôi tìm thấy php.exe tại C: \ UwAmp \ bin \ php \ php-5.4.15 khi php.ini tại C: \ UwAmp \ bin \ apache. Tôi vừa sao chép php.ini tại C: \ UwAmp \ bin \ php \ php-5.4.15 và Bỏ ghi chú phần mở rộng dòng = php_openssl.dll và nó đã được sửa.


2

Tôi đang sử dụng máy chủ WAMP. Trên thực tế, các tệp của nó cho thấy openssl đã được mở. Nhưng theo cách thủ công, tôi đã vào thư mục và chỉnh sửa php.ini. Sau đó, tôi thấy nó chưa mở openssl. Tôi đã bỏ ghi chú nó và nó hoạt động sau khi khởi động lại WAMP.


2

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

Duyệt đến dòng có nội dung:

;extension=php_openssl.dll

và bỏ dấu chấm phẩy trước dòng. Khởi động lại dịch vụ máy chủ WAMP của bạn (nhấp vào khay biểu tượng của bạn> 'Khởi động lại tất cả dịch vụ'


1

Nếu bạn vẫn không thể giải quyết vấn đề của mình, hãy xem điều này. Đây có thể là giải pháp bạn đang tìm kiếm

Có một số tệp php.ini trong thư mục C: \ wamp \ bin \ php \ php xyz. Bạn có thể tìm thấy sản xuất, phát triển và một số tệp php.ini khác. Không có điểm chỉnh sửa các tệp sản xuất và phát triển. Tìm tệp giống hệt như hình dưới đây. (Bạn có thể tìm thấy nó. Chỉ cần nhập php.ini vào thanh tìm kiếm của bạn và thực hiện tìm kiếm). Mở tệp và xóa; từ extension = php_openssl.dll. Lưu file và đóng nó lại. Khởi động lại tất cả các dịch vụ trong máy chủ Wampp. Cài đặt lại trình soạn nhạc của bạn.

Đó là nó.

nhập mô tả hình ảnh ở đây


1

Wamp hoạt động với một php.ini khác trong C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Vì vậy, bạn cần phải thủ công tìm đúng tệp trong C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Bỏ ghi chú dòng extension = php_openssl.dll và chỉ cần thử cài đặt lại Composer.


1

Đối với những người đang gặp vấn đề giống như tôi. Sau khi thực hiện tất cả các giải pháp trên, vẫn không hiệu quả với tôi. Tôi phát hiện ra rằng, uWamp đang tạo tệp PHP.INI trong thư mục bin / apache. Vì vậy, tôi phải sao chép tệp PHP.INI vào thư mục cài đặt php, tức là thư mục bin / php / phpXXXX. Đây cũng phải là nơi chứa php.exe mà bạn đã chọn từ thiết lập trình soạn nhạc.

Hi vọng điêu nay co ich.


1

Nếu bạn đã biên dịch từ nguồn, thì việc thêm extension=php_openssl.dllvào tệp php.ini có thể không hoạt động .

Để khắc phục sự cố này, hãy mở dấu nhắc lệnh và nhập php -i. Cuộn lên dòng đầu tiên, nó sẽ cho bạn biết lỗi gần đây nhất liên quan đến tệp php.ini của bạn.

Để giải quyết vấn đề, hãy tìm php_openssl.dlltệp, đối với tôi, nó nằm trong cùng một thư mục của đầu ra biên dịch: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS Vì vậy, chỉ cần thêm thư mục chứa phần mở rộng vào php.ini:

extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"

Hy vọng rằng lỗi sẽ biến mất


0

Nếu bạn đang sử dụng xampp, hãy quay lại nơi bạn chọn php dòng lệnh mà bạn muốn sử dụng khi bắt đầu cài đặt và chọn đường dẫn chứa thư mục xampp của bạn. Sau đó, nếu trình cài đặt của bạn cho biết bạn có trùng lặp 'extension = php_openssl.dll 'nhận xét một tệp ssl trong php ini của bạn với dấu'; 'và quá trình cài đặt của bạn sẽ chạy trơn tru.

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.