Bagaimana cara mengaktifkan ekstensi openssl PHP untuk menginstal Komposer?

113

Saya mencoba menginstal Laravel di pengaturan WAMP. Saya mendapatkan pesan peringatan untuk tidak mengaktifkan openssl yang sudah saya lakukan di WAMP.

Berikut tangkapan layar dari pesan tersebut.

masukkan deskripsi gambar di sini

FirmView
sumber
1
Periksa jalur PHP di variabel lingkungan %PATH%, mungkin Composer mencari PHP di lokasi lain selain WampServer.
Rubens Mariuzzo
Saya memiliki masalah yang sama. Saya sedang mengedit php.ini dari ikon wamp. Tetapi saya melakukannya secara manual, memulai ulang server saya dan berhasil.
themhz

Jawaban:

121

Mungkin saja WAMP dan Komposer menggunakan instalasi PHP yang berbeda. Komposer akan menggunakan set PHP dalam PATHvariabel lingkungan.

Jika Anda ingin mengaktifkan ekstensi openssl untuk menginstal Composer , pertama-tama Anda perlu memeriksa lokasi instalasi PHP.

  1. Buka Command Prompt, ketik: echo %PATH%lalu periksa lokasi instalasi PHP Anda.
  2. Pergi ke lokasi dan mengedit file bernama: php.ini.
  3. Hapus tanda komentar pada baris extension=php_openssl.dlldengan menghapus titik koma di awal.

Sekarang Anda siap untuk menginstal Komposer.

Rubens Mariuzzo
sumber
2
Kebetulan saya tidak memiliki ekstensi ini di instalasi XAMPP saya. Saya baru saja menambahkan (extension = php_openssl.dll) pada php.ini dan itu berfungsi mengunduh dependensi laravel.
Adrian P.
8
ketika saya mengetik echo %PATH%saya mendapatkan: 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.. tidak ada php yang terinstal di salah satu direktori itu .. apa yang harus saya lakukan sekarang?
abbood
19
wamp menggunakan php.ini ini: c: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini tetapi komposer menggunakan PHP dari CLI, dan karenanya ia membaca file ini: c: \ wamp \ bin \ php \ php5.4.12 \ php.ini (jadi Anda perlu mengaktifkan openssl di sana)
Enrique
2
Saya Menggunakan xampp, Komposer memberikan kesalahan terbuka ssl yang sama bahkan setelah menghapus ';' ekstensi openssl di php.ini.
Shashikumar Misal
30
Saya juga harus tanda komentar pada baris extension_dir = "ext"di php.ini, tapi aku menggunakan instalasi PHP biasa bukan WAMP.
David Harkness
62

Saya memecahkan masalah saya dengan cara yang berbeda. Masalahnya adalah GUI wamp menyesatkan: diklaim bahwa saya telah php_opensslmengaktifkan .. dan jika saya mengklik php.iniGUI yang sama .. sebenarnya menunjukkan bahwa extension=php_openssl.dlltidak ada komentar ..

Saya tidak yakin apakah saya menggunakan versi penginstal komposer OP yang sama, tetapi sebenarnya meminta Anda di awal untuk menentukan php.exemana Anda ingin menerapkan komposer (yang pada dasarnya memastikan bahwa tidak ada yang mencoba menerapkan komposer ke php yang salah dieksekusi seperti yang terjadi dengan OP) ..

Cara saya mengatasinya adalah dengan masuk ke instalasi php dalam paket wamp: C:\wamp\bin\php\php5.4.12dan mencari di php.insana .. ketika saya membukanya saya terkejut bahwa baris extension=php_openssl.dllitu benar-benar dikomentari! Saya tidak berkomentar dan itu bekerja dengan baik.

masukkan deskripsi gambar di sini

biara
sumber
Terima kasih setelah melihat jawaban ini saya menemukan wamp menggunakan 5.5.12 tetapi saya memilih direktori 5.4 untuk php.exe
Afnan Bashir
Di jalur apa file libeay32.dllatau liblibcrypto-*.dllberada? php.net/manual/de/openssl.installation.php
Bernhard Döbler
53

Saya memiliki masalah yang sama dan di sini solusi yang saya temukan, di php.ini Anda, Anda perlu melakukan beberapa perubahan:

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

Setiap orang di sini berbicara mengaktifkan ekstensi openssl, tetapi di windows Anda perlu mengaktifkan dir ekstensi juga.

Francisco Cabral
sumber
3
Pria Anda adalah satu-satunya yang menyebutkan extension_dir, Anda hebat!
giannis christofakis
Ini berhasil untuk saya. Saya telah mendownload PHP langsung seperti di turtorial ini .
dirampok
26

Untuk server WAMP, komentar yang diberikan oleh "Enrique" memecahkan masalah saya.

wamp menggunakan php.ini ini :

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

Tetapi komposer menggunakan PHP dari CLI, dan karenanya ia membaca file ini:

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

Untuk komposer, Anda harus mengaktifkan ekstensi di

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

Perubahan:

;extension=php_openssl.dll 

untuk

extension=php_openssl.dll
pengguna3887814
sumber
Untuk MAMP, saya harus menyalin file php.ini dari C: \ MAMP \ conf \ phpx.xx ke C: \ MAMP \ bin \ php \ phpx.xx (\ conf \ .... ke \ bin \ .. .)
Mike
15

Jika Anda melakukan ini di Windows tanpa salah satu dari WAMP stack, berikut cara melakukannya

  1. Unduh instalasi PHP untuk Windows . Umumnya Anda menginginkan pemasangan aman non-utas. Anda dapat menggunakan build 32-bit atau 64-bit
  2. Ekstrak file zip di suatu tempat. Saya akan menyarankan C:\php. Pemasang Komposer menemukannya di sana tanpa perintah tambahan
  3. Versi terbaru PHP untuk Windows tidak dilengkapi dengan php.inidefault . Sebagai gantinya, Anda akan melihat dua file, seperti yang disebutkan di bawah ini. Ubah nama satu menjadi php.iniatau salin ke php.ini.
    • php.ini-development
    • php.ini-production
  4. Buka php.inifile Anda dan hapus titik koma dari baris ini (Anda mungkin ingin menghapus komentar lain juga tetapi baris ini adalah satu-satunya yang diperlukan untuk Komposer)

    ;extension=php_openssl.dll

Seharusnya hanya itu yang perlu Anda lakukan. Pemasang Komposer harus melakukan semua yang Anda butuhkan dari sini.

Machavity
sumber
2
Ini adalah SATU-SATUNYA tempat online dengan solusi yang benar (untuk penyiapan non-WAMP). Terima kasih!
adamdehaven
11

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
8

Ini adalah pertanyaan lama tetapi saya baru saja mengalami masalah yang sama (dengan PHP7) dan solusinya, pada akhirnya, cukup sederhana. Tidak cukup mengomentari baris php.inisesuai jawaban lainnya. Saya perlu mengubahnya dari:

;extension=php_openssl.dll

untuk:

extension=ext/php_openssl.dll

Perhatikan extawalannya. DLL sudah ada tetapi berada dalam subfolder. Setelah mengubah konfigurasi, pemasang komposer senang.

K Cartlidge
sumber
7

Anda perlu mengaktifkan ekstensi openssl di

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

Itu adalah file konfigurasi php yang memiliki tipe "pengaturan konfigurasi" dengan ikon seperti driver-notepad.

  1. buka dengan notepad atau editor apa pun,
  2. cari openssl "ctrl + F Anda" akan dilakukan.
  3. ada titik koma sebelum ekstensi openssl

    ;extension=php_openssl.dll

    hapus titik koma dan Anda akan mendapatkannya

    extension=php_openssl.dll
  4. simpan file dan mulai ulang server WAMP Anda setelah itu Anda siap melakukannya. instal ulang aplikasi lagi yang seharusnya berfungsi.
DLoneDeveloper
sumber
6

Ada dua php.inifile, satu untuk pengembangan dan satu lagi untuk produksi. Biarkan itu, ada php.inifile lain untuk pengaturan konfigurasi tepat di atasnya dengan roda gigi seperti ikon edit itu.

keneth
sumber
Alternatifnya, milik saya tidak memiliki default. Cukup salin / tempel prod / dev satu dan ubah namanya menjadi php.ini, lalu lakukan pengeditan yang disarankan orang lain di sini.
Brynn Bateman
3

Setelah mengedit file yang "benar" (semua file php.ini). saya masih punya masalah. Solusi saya adalah:

  1. Menambahkan variabel Sistem: OPENSSL_CONF

    nilai OPENSSL_CONF harus berupa file openssl.cnf dari versi php Anda saat ini.

bagi saya itu adalah:

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

-> Restart WAMP -> seharusnya berfungsi sekarang

Sumber: http://php.net/manual/en/openssl.installation.php

Mafu
sumber
2

Saya menghadapi masalah yang sama, tetapi ketika saya lokking untuk php.ini dan php.exe saya menemukan php.exe di C: \ UwAmp \ bin \ php \ php-5.4.15 ketika php.ini di C: \ UwAmp \ bin \ apache. Saya baru saja menyalin php.ini di C: \ UwAmp \ bin \ php \ php-5.4.15 dan Hapus komentar pada ekstensi baris = php_openssl.dll dan itu diperbaiki.

M. K Hossain
sumber
2

Saya menggunakan server WAMP. Sebenarnya file-nya menunjukkan bahwa openssl dibuka. Tapi secara manual saya pergi ke folder dan mengeditnya php.ini. Kemudian saya menemukan itu belum dibuka openssl. Saya menghapus komentarnya dan itu berfungsi setelah setelah WAMP restart.

tharanga
sumber
2

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

Jelajahi baris yang bertuliskan:

;extension=php_openssl.dll

dan hapus titik koma sebelum baris. Mulai ulang layanan server WAMP Anda (klik di baki ikon Anda> 'Mulai Ulang Semua Layanan'

yathavan
sumber
1

Jika Anda masih tidak dapat menyelesaikan masalah Anda, lihat ini. Ini mungkin solusi yang Anda cari

Ada beberapa file php.ini di folder C: \ wamp \ bin \ php \ php xyz. Anda mungkin menemukan file produksi, pengembangan dan beberapa file php.ini lainnya. Tidak ada gunanya mengedit file produksi dan pengembangan. Temukan file yang sama persis dengan gambar di bawah ini. (Anda dapat menemukannya. Cukup ketik php.ini di bilah pencarian Anda dan lakukan pencarian). Buka file dan hapus; dari ekstensi = php_openssl.dll. Simpan file dan tutup. Mulai ulang semua layanan di server Wampp. Instal ulang komposer Anda.

Hanya itu saja.

masukkan deskripsi gambar di sini

gihanmu
sumber
1

Wamp bekerja dengan php.ini lain yang ada di C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Jadi Anda perlu mencari file yang benar secara manual, yaitu di C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Hapus tanda komentar pada baris extension = php_openssl.dll dan coba instal Composer lagi.

Dreyfi
sumber
1

Bagi mereka yang mengalami masalah yang sama seperti saya. Setelah melakukan semua solusi di atas, tetap tidak berhasil untuk saya. Saya menemukan bahwa, uWamp membuat file PHP.INI di direktori bin / apache. Jadi saya harus menyalin file PHP.INI ke direktori instalasi php, yaitu direktori bin / php / phpXXXX. Ini juga harus menjadi tempat php.exe yang Anda pilih dari pengaturan komposer.

Semoga ini membantu.

Nitro Chummy
sumber
1

Jika Anda mengkompilasi dari sumber, maka menambahkan extension=php_openssl.dllke file php.ini mungkin tidak berfungsi .

Untuk memecahkan masalah ini, buka prompt dan ketik perintah php -i. Gulir ke atas ke baris pertama, ini akan memberi tahu Anda kesalahan terbaru terkait file php.ini Anda.

Untuk mengatasi masalah ini, temukan php_openssl.dllfile tersebut, bagi saya file itu ada di direktori yang sama dengan output kompilasi: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS Jadi tambahkan saja direktori tempat ekstensinya, ke php.ini:

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

Semoga kesalahannya hilang

J11
sumber
0

Jika Anda menggunakan xampp. Kembali ke tempat Anda memilih php baris perintah mana yang ingin Anda gunakan di awal instalasi dan pilih jalur di mana folder xampp Anda disertakan. Setelah itu jika penginstal Anda mengatakan Anda memiliki duplikat 'extension = php_openssl.dll 'beri komentar satu file ssl di php ini dengan'; 'dan instalasi Anda akan berjalan lancar.

ricardo Chitagu
sumber