Peringatan Komposer: ekstensi openssl tidak ada. Cara mengaktifkan di WAMP

132

Mencoba menginstal alat manajemen ketergantungan Composer di Win7 / 64 + WampServer 2.2 melalui Setup Installer dan saya mendapatkan pesan berikut:

Ekstensi openssl tidak ada, yang akan mengurangi keamanan dan stabilitas Komposer. Jika memungkinkan Anda harus mengaktifkannya atau mengkompilasi ulang php dengan --with-openssl

Jadi inilah yang saya lakukan ...

  1. Dari ikon Wamp saya di Baki, klik php > php extensions > php_openssl
  2. Ini menunjukkan bahwa tugas diselesaikan dengan menempatkan tanda centang di sebelah ekstensi
  3. Saya kemudian memulai kembali WampServer
  4. Kemudian dari ikon Wamp di baki, saya mengklik php > php.inidan mencari openssl untuk memverifikasi itu TIDAK berkomentar) keluar. Bukan itu.
  5. Saya kemudian kembali ke Composer-Setup.exe dan mencoba lagi. Pesan Peringatan yang Sama : "ekstensi openssl tidak ada"
  6. Karena tidak pernah bekerja dengan OpenSSL, saya tidak yakin apa yang seharusnya diatur, jadi saya mencoba menjelajah ke salah satu situs lokal saya menggunakan https. Gagal.

Apa yang saya lewatkan?

Mohon saran.

tidur
sumber
Wow. Saya baru saja pergi ke google untuk mencoba mendapatkan lebih banyak info dan postingan ini muncul di hasil pencarian. Sudah? Sialan itu cepat. : -}
sleeper
Apakah Anda me-restart server web?
periklis
ya, saya memang me-restart server.
tidur
tidak yakin seberapa luas Anda mencoba untuk mendapatkan dengan ssl tetapi ini dapat membantu: phpjoel.com/2011/04/07/07 ... Jika itu tidak membantu Anda, Anda selalu dapat mencoba menginstal ulang metode pemecahan masalah yang lama setelah Anda membuat cadangan DB dan File.
Cameeob2003
Saya baru saja memutakhirkan versi saya di WampServer ke yang terbaru. Pesan yang sama Saya hanya terus menginstal. Sejauh ini, tidak ada kesalahan nyata. Aneh.
tidur

Jawaban:

316

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

Valery I.
sumber
2
kamu menyelamatkan cintaku sehingga aku merasa laravel ... kenapa mereka tidak meninggalkan instalasi seperti itu dalam versi lama :)
Tom
1
sih laravel membawaku ke sini
tomexsans
1
Saya menggunakan uwamp di mana saya dapat menemukan file ini.
Sujeet Kumar
Answer juga berfungsi untuk EasyPHP (klik kanan baki sistem ikon EasyPHP, pilih Configuration | PHP, yang membuka php.ini di Notepad, cari openssl, batalkan komentar pada baris)
stifin
apa yang harus saya lakukan untuk xampp? .. saya mendapat pesan kesalahan seperti pesan ini tidak dapat dikirim. Kesalahan Mailer: Ekstensi tidak ada: openssl ,,,
pcs
27

Selain membatalkan komentar pada ;extension=php_openssl.dllbaris php.iniyang telah disebutkan orang lain, Anda juga harus memastikan bahwa ;extension_dir = "ext"baris tersebut juga tidak diomortasikan. Untuk membatalkan komentar, hapus tanda titik koma yang sudah ada dan simpan.

Baris itu mungkin sudah di-uncommented dalam paket-paket seperti WAMP dan XAMPP, tetapi itu bukan dalam unduhan PHP biasa untuk Windows, jadi perlu verifikasi. Anda juga harus membuat php.inifile dengan menyalin salah satu contoh, suka php.ini-developmentke file baru dan beri nama php.ini. Kemudian lakukan perubahan ini di sana.

Juga, di masa depan, untuk menginstal alat seperti PHP dan Komposer, saya sarankan menggunakan manajer paket Chocolatey. Maka sesederhana itu choco install composer. Tentu saja, Anda masih perlu mengedit php.ini sebelum menginstal Composer dengan metode choco. Dalam versi Windows yang akan datang, alat manajemen paket seperti Chocolatey akan dimasukkan ke Windows , dengan cara yang sama apt-getdi Ubuntu. Waktu yang menyenangkan bagi pengembang!

Dengan metode mana pun, setelah menginstal Komposer, jangan lupa untuk me-restart terminal Anda. Apakah Anda menggunakan Command Prompt, Bash (instal dengan Git), atau Powershell, Anda harus memulai ulang sebelum variabel lingkungan yang diperbarui berfungsi.

Scott Pigeon
sumber
4
Ini adalah jawaban yang benar jika Anda mencoba menginstal komposer di Windows 10 dan telah mengikuti panduan
robek
Benar-benar .. Ini benar .. Saya tahu ini, tetapi lupa tentang extgaris itu pada Windows. Terima kasih telah mengingatkan.
WM
16

Saya memiliki masalah yang sama meskipun openssl diaktifkan. Masalahnya adalah bahwa penginstal Composer sedang melihat file konfigurasi ini:

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

Tetapi file config yang dimuat sebenarnya ada di sini:

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

Jadi saya hanya perlu menghapus komentar dalam file php.ini pertama dan itu berhasil. Ini adalah bagaimana WAMP diinstal pada mesin saya secara default. Saya tidak mengubah apa pun, jadi ini mungkin akan terjadi pada orang lain juga. Ini pada dasarnya sama dengan jawaban Augie Gardner di atas, tetapi saya hanya ingin menunjukkan bahwa Anda mungkin memiliki dua file php.ini.

seperti biasa
sumber
Jalur bydefault yang diberikan saat menginstal salah, Menunjuk untuk memperbaiki php.exe menyelesaikan masalah, Terima kasih.
Sandesh Damkondwar
12

batalkan komentar ;extension=php_openssl.dlldi keduanya

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

ini akan bekerja

vuhung3990
sumber
Saya menggunakan xampp .. jadi saya mengedit 2 file bernama, c / php / php.ini dan c / apache / bin / php.ini .. menghapus titik koma dalam hal ini; extension = php_openssl.dll .. tetapi masih tetap memiliki kesalahan yang sama seperti Kesalahan Mailer ini: Extension missing: openssl ..
pcs
@ Saina apakah Anda me-restart server Anda? Jalankan juga phpinfo () untuk memeriksa di mana file konfigurasi berada.
Ivanka Todorova
5

C: \ laravel-master> komposer create-project laravel / laravel Menginstal laravel / laravel (v4.0.6) - Instalasi laravel / laravel (v4.0.6) [RuntimeException] Anda harus mengaktifkan ekstensi openssl untuk mengunduh file melalui https

Saya menggunakan EasyPhp (tipe WAMP). Di Ikon EasyPHP di bilah tugas, klik kanan dan pilih konfigurasi lalu pilih PHP. Saya akan membuka PHP.inikonfigurasi file di Notepad, cari-cari atau CTRL+ F di notepad untuk kata OPENSSLAnda akan menemukan ini ;extension=php_openssl.dllhanya menghapus; dan extension=php_openssl.dllaktif.

C: \ laravel-master> composer create-project laravel / laravel Menginstal laravel / laravel (v4.0.6) - Menginstal laravel / laravel (v4.0.6) Mengunduh: 100% Dibuat proyek di C: \ laravel-master \ laravel Memuat komposer repositori dengan informasi paket Menginstal dependensi (termasuk keharusan-dev)

voltronluis
sumber
Saya tahu ini di luar topik, tetapi bagaimana Anda menginstal komposer dengan EasyPhp. Saya hanya mendapatkan kesalahan dan harus menginstal ulang semua.
HenryW
2

Anda perlu mengedit file "c: \ Program \ wamp \ bin \ php \ php5.3.13 \ php.ini" untuk:; extension = php_openssl.dll

hapus titik koma di awal

Catatan: jika menyimpan file tidak berfungsi maka Anda perlu mengeditnya sebagai administrator. (pada win7) buka menu start, cari notepad, klik kanan pada notepad, klik "Run As Administrator"

di jendela pemasangan komposer cukup klik kembali lalu berikutnya (atau tutup dan mulai lagi) dan itu akan berfungsi

Zemba Albert
sumber
2

membuka konfigurasi wamp / bin / apache / apache2.4.4 / bin / php .. konfigurasi wamp / bin / php / php5.4.16 / php, produksi php-in, php-in dev, phpForApache find extension = php_openssl.dll dan batalkan komentar dengan menghapus ;

Njoroge Mathu
sumber
kemungkinan duplikasi stackoverflow.com/questions/14062055/…
blackmind
1

Singkat dan manis, batalkan komentar pada baris ini di wamp/bin/php/php5.3.13(atau versi php apa pun):
;extension=php_openssl.dll (hapus ;)
Sekarang jalankan instalasi baris perintah Composer. Anda tidak akan memiliki kesalahan.
Baik untuk pergi!

Augie Gardner
sumber
1

Ya, Anda harus membuka php.ini dan menghapus tanda titik koma ke:

;extension=php_openssl.dll

Hapus ";" seperti ini dan itu akan berhasil.

extension=php_openssl.dll

Selamat Coding.

Sujeet Kumar
sumber
0

Untuk menginstal Composer di bawah ini langkah-langkahnya berhasil: (WAMP versi 2.4 x64bit)

edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll

**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**

extension=php_openssl.dll
satch_boogie
sumber
0

Semua jawaban itu baik, tetapi pada kenyataannya, jika Anda ingin mengerti, direktori ekstensi harus benar jika Anda ingin semua ekstensi yang tidak diomortasikan berfungsi. Dapat menulis jalur fisik atau relatif seperti

extension_dir = "C:/myStack/php/ext"

atau

extension_dir = "../../php/ext"

Ini relatif terhadap server web Apache httpd.exe (C: \ myStack \ apache \ bin) Tetapi jika Anda ingin itu bekerja dengan Komposer atau apa pun yang Anda butuhkan jalur fisik karena mode cli tidak menggunakan server web!

François Breton
sumber
0

Saya menghadapi masalah yang sama. Saya mengganti nama folder php saya dari php7_winxxxxmenjadi hanya php dan berfungsi dengan baik. Sepertinya komposer sedang memeriksa lokasi ke modul php_openssl di c:/php/ext.

Anda mungkin juga perlu menambahkan c:/phpke PATHdalam variabel lingkungan

Tushortz
sumber