Anda harus mengaktifkan ekstensi openssl untuk mengunduh file melalui https

123

Saya ingin menginstal Zend Framework 2. Jadi saya mengunduh aplikasi kerangka. Seperti yang disebutkan di manual ZF2, kita harus mengeluarkan perintah

php composer.phar install 

Di dalam kerangka.

Tapi saya mendapatkan kesalahan

Anda harus mengaktifkan ekstensi openssl untuk mengunduh file melalui https

Kemudian saya mengaktifkan ssl_module di wamp saya, saya memeriksa file php_ini dan saya dapat melihat baris berikut

ekstensi = php_openssl.dll

Masih saya mendapatkan kesalahan yang sama. Ada yang tahu apa yang saya lewatkan?

Uttam Dutta
sumber
1
Saya mengalami masalah ini saat menjalankan travis-ci dan ternyata tidak seperti setiap distro linux di bawah matahari, beberapa lingkungan travis-ci yang lebih lama dikompilasi tanpa openssl, kalau-kalau ada orang lain yang menemukan masalah yang sama.
Kzqai
@Kzqai apakah mungkin untuk mengkompilasi ekstensi ini di travis, seperti untuk PHP 5.3.3 dalam pertanyaan saya ? Saya melihat dari buku resep mereka bahwa Anda dapat menginstal ekstensi PECL, tetapi menurut saya ekstensi openssl tidak tersedia melalui PECL.
Jeff Puckett

Jawaban:

286

PHP CLI SAPI menggunakan php.inimodul yang berbeda dari CGI atau Apache.

Temukan baris ;extension=php_openssl.dllmasuk wamp/bin/php/php#.#.##/php.ini dan hapus tanda koma dengan menghapus titik koma ( ;) dari awal baris.

BorisS
sumber
Saya juga harus mengaktifkan ekstensi phar (extension = php_phar.dll) dan seperti yang dikatakan di bawah ini, modul apache ssl!
Diego Favero
1
"PHP CLI SAPI menggunakan php.ini yang berbeda dari modul CGI atau Apache." Itu triknya!
George D.
Jika Anda tidak dapat menemukan baris itu di Anda php.inicukup tambahkan baris di extension=php_openssl.dllbawah bagian Ekstensi Dinamis di dalamnya.
totymedli
Saya Menggunakan xampp, Komposer memberikan kesalahan terbuka ssl yang sama bahkan setelah menghapus ';' ekstensi openssl di php.ini.
Shashikumar Misal
Jika Anda menggunakan Mac dan port, Anda dapat memilih versi PHP dengan port select php php55dan menginstal ekstensiport install php55-openssl
Prabowo Murti
36

Pastikan Anda mengedit file php.ini yang benar.

Referensi: https://github.com/composer/composer/issues/1440

"WAMP menggunakan file php.ini yang berbeda di CLI dan Apache. Saat Anda mengaktifkan php_openssl melalui WAMP UI, Anda mengaktifkannya untuk Apache, bukan untuk CLI. Anda perlu mengubah C: \ wamp \ bin \ php \ php- XYZ \ php.ini untuk mengaktifkannya untuk CLI. "

Duramba
sumber
2
siapa yang mengira bahwa ... Sungguh ... Ini memecahkan masalah. Terima kasih
Ruwantha
20

pastikan Anda memiliki jalur yang benar ke folder ekstensi

extension_dir = "ext"

secara default dikomentari dengan; karakter

Adam Kopciński
sumber
1
baris ini telah dikomentari sepenuhnya dan sekarang berfungsi
Brian Dillingham
penting untuk instalasi windows!
haakym
Dimana garis ini? Di file mana? php.ini dalam 1, C: \ wamp64 \ bin \ apache ATAU 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions
9

Saya juga mengalami masalah yang sama saat bermain-main dengan Zend Framework 2 dan komposer. Saya menggunakan PHP 5.4 (diinstal melalui macports) dan solusi saya adalah menginstal openssl untuk PHP 5.4 melalui macports juga.

sudo port menginstal php54-openssl
Freddy Duarte
sumber
5

Saya telah menghadapi masalah ini, tetapi mengkonfigurasi openssl (juga untuk cli) tidak membantu.

Saya telah memperbarui komposer dan ini mengatasi masalah saya.

Ketik saja:

$ php composer.phar self-update

atau

$ composer selfupdate

Semoga berhasil!

Athlan
sumber
4

Saya menggunakan XAMPP. Di C: \ xampp \ php \ php.ini, entri untuk openssl tidak ada, jadi saya menambahkan "extension = php_openssl.dll" pada baris 989, dan komposer berfungsi.

Andrew Koper
sumber
4

Anda harus mengaktifkan "extension = php_openssl.dll" di kedua file (php dan apache). jalur file pc saya adalah ini:

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

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

Mohammed Saqib Rajput
sumber
Ini salah. Periksa dengan phpinfo () php.ini mana yang digunakan
ThaDafinser
3

Uttam, jika masalah Anda tidak terpecahkan maka coba pendekatan 3 langkah berikut. Itu berhasil untuk saya karena saya memiliki masalah yang persis sama.

step1: klik pada ikon baki wamp.

langkah2: goto menu apache-> modul apache

langkah3: klik pada item menu "ssl_module"

itu akan secara otomatis restart wamp. jika wamp tidak direstart secara otomatis maka restart melalui menu wamp tray-> Restart All services. Setelah restart, konfirmasikan bahwa "ssl_module" datang seperti yang dicentang di bawah menu apache-> modul apache

setelah itu coba saja install php composer.phar melalui respon yang anda bagikan, file php.ini berisi extension = php_openssl.dll dan direktori php / ext juga memiliki file "php_openssl.dll"

semoga berhasil

adang
sumber
3

Jawaban Valery membantu saya: https://stackoverflow.com/a/14265815/492457

WAMP menggunakan file php.ini yang berbeda di CLI dan untuk Apache. ketika Anda mengaktifkan php_openssl melalui WAMP UI, Anda mengaktifkannya untuk Apache, bukan untuk CLI. Anda perlu memodifikasi C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini untuk mengaktifkannya untuk CLI.

karlisup
sumber
2

Pastikan Anda memperbarui php.iniuntuk CLI. Untuk kasus saya ini adalah C:\wamp\bin\php\php5.4.3\php.inidan extension=php_openssl.dllbaris komentar .

codarrior
sumber
1

Jawaban terlambat tetapi menambahkan sehingga orang lain dapat mempelajari alasannya.

Anda juga perlu mengedit file php.ini di lokasi "wamp \ bin \ php \ php-XYZ".

Shah Alom
sumber
0

Saya harus menghapus komentar extension=openssldalam php.inifile agar semuanya bekerja!

Harshit Agrawal
sumber
0

Hati-hati jika Anda menggunakan wamp jangan gunakan wamp ui untuk mengaktifkan extension=php_openssl.dll

cukup masuk ke direktori php Anda, misalnya: C:\wamp\bin\php\php5.4.12dan edit php.inidan hapus komentar pada extension=php_openssl.dll.

itu harus bekerja.

meti
sumber