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.


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.


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.


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.


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


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)


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



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!



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.


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

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!


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.