Composer'ı kurmak için PHP'nin openssl uzantısını nasıl etkinleştirebilirim?


113

Laravel'i WAMP kurulumunda kurmaya çalışıyorum. WAMP'ta daha önce yapmış olduğum openssl'yi etkinleştirmediğim için bir uyarı mesajı alıyorum .

İşte mesajın bir ekran görüntüsü.

görüntü açıklamasını buraya girin


1
Ortam değişkeninde PHP'nin yolunu kontrol edin %PATH%, belki Composer PHP'yi WampServer yerine başka bir konumda arıyor olabilir.
Rubens Mariuzzo

Ben de aynı sorunu yaşadım. Wamp simgesinden php.ini dosyasını düzenliyordum. Ama bunu manuel olarak yaptım, sunucumu yeniden başlattım ve çalışıyor.
themhz

Yanıtlar:


121

WAMP ve Composer'ın farklı PHP kurulumları kullanıyor olması mümkündür. Composer, PATHortam değişkenindeki PHP kümesini kullanacaktır .

Composer'ı kurmak için openssl uzantısını etkinleştirmek istiyorsanız , önce PHP kurulumunun konumunu kontrol etmeniz gerekir.

  1. Bir Komut İstemi açın, şunu yazın: echo %PATH%ardından PHP kurulumunuzun konumunu kontrol edin.
  2. Bu konuma gidin ve: adlı dosyayı düzenleyin php.ini.
  3. Baştaki extension=php_openssl.dllnoktalı virgülü kaldırarak satırın açıklamasını kaldırın .

Şimdi Composer'ı kurmakta fayda var.


2
XAMPP kurulumumda bu uzantıya sahip değilim. Php.ini'ye az önce (extension = php_openssl.dll) ekledim ve laravel bağımlılıklarını indirmeye çalışıyor.
Adrian P.

8
i yazarken echo %PATH%alıyorum: 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.. bu dizinlerin hiçbirinde yüklü herhangi php yoktur .. ben şimdi ne yapacağım?
abbood

19
wamp php.ini'yi kullanıyor: c: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini, ancak composer CLI'den PHP kullanıyor ve dolayısıyla şu dosyayı okuyor: c: \ wamp \ bin \ php \ php5.4.12 \ php.ini (orada openssl etkinleştirmeniz gerekir böylece)
Enrique

2
Xampp kullanıyorum, Composer ';' kaldırıldıktan sonra bile aynı açık ssl eksik hatasını veriyor. php.ini içinde openssl uzantısı.
Shashikumar Misal

30
Ayrıca satırın başındaki zorunda extension_dir = "ext"içinde php.ini, ama bunun yerine WAMP düz PHP kurulumunu kullanıyorum.
David Harkness

62

Sorunumu farklı bir şekilde çözdüm. Sorun şu ki, wamp'ın GUI'si yanıltıcıydı: php_openssletkinleştirdiğimi iddia ediyordu .. ve php.iniaynı GUI'ye tıklarsam .. aslında extension=php_openssl.dllyorumsuz olduğunu gösterdi ..

OP'nin bestecisinin aynı yükleyici sürümünü kullanıp kullanmadığımdan emin değilim, ancak aslında başlangıçta php.exesizden besteciyi uygulamaktan hoşlandığınızı belirtmenizi ister (temelde hiç kimsenin besteciyi uygulamaya çalışmamasını sağlar. OP ile olduğu gibi yanlış php çalıştırılabilir) ..

Bunu çözme şeklim, wamp paketinin içindeki php kurulumuna kendim girmekti: C:\wamp\bin\php\php5.4.12ve php.inoraya bakmak .. onu açtığımda, satırın extension=php_openssl.dllgerçekten yorumlanmış olmasına şok oldum ! Yorum yapmadım ve gayet iyi çalıştı.

görüntü açıklamasını buraya girin


Bu cevaba bakmak zorunda kaldıktan sonra teşekkürler wamp'ın 5.5.12 kullandığını anladım, ancak php.exe için 5.4 dizinini seçtim
Afnan Bashir

Dosyalar hangi yolda libeay32.dllveya hangi yolda bulunuyor liblibcrypto-*.dll? php.net/manual/de/openssl.installation.php
Bernhard Döbler

53

Aynı sorunu yaşadım ve burada bulduğum çözüm, php.ini'nizde bazı değişiklikler yapmanız gerekiyor:

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

Buradaki herkes openssl uzantısını aktif olarak konuşuyor, ancak pencerelerde uzantı dizinini de etkinleştirmeniz gerekiyor.


3
Erkeklerden bahseden tek kişi extension_dirsizsiniz, harikasınız!
giannis christofakis

Bu benim için çalıştı. PHP'yi doğrudan bu turtorial'daki gibi indirmiştim .
2016

26

WAMP sunucusu için "Enrique" tarafından verilen yorum sorunumu çözdü.

wamp bu php.ini'yi kullanıyor :

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

Ancak besteci CLI'den PHP kullanıyor ve dolayısıyla şu dosyayı okuyor:

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

Besteci için uzantıyı içinde etkinleştirmeniz gerekecek

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

Değişiklik:

;extension=php_openssl.dll 

için

extension=php_openssl.dll

MAMP için php.ini dosyasını C: \ MAMP \ conf \ phpx.xx'den C: \ MAMP \ bin \ php \ phpx.xx (\ conf \ .... 'ye \ bin \ ..' ye kopyalamam gerekiyordu. .)
Mike

15

Bunu Windows'ta WAMP yığınlarından biri olmadan yapıyorsanız, işte bunu nasıl yapacağınız

  1. Windows için PHP kurulumunu indirin . Genellikle iş parçacığı olmayan güvenli bir kurulum istersiniz. 32 bit veya 64 bit yapıları kullanabilirsiniz
  2. Zip dosyasını bir yere çıkarın. Öneririm C:\php. Composer'ın yükleyicisi herhangi bir ek bilgi istemeden onu orada buldu
  3. Windows için PHP son sürümleri bir gelmiyorsun php.inivarsayılan olarak . Bunun yerine, aşağıda belirtildiği gibi iki dosya göreceksiniz. Birini olarak yeniden adlandırın php.iniveya içine kopyalayın php.ini.
    • php.ini-development
    • php.ini üretim
  4. php.iniDosyanızı açın ve bu satırdan noktalı virgülü kaldırın (başka şeyleri de kaldırmak isteyebilirsiniz, ancak bu satır Composer için gerekli olan tek satırdır)

    ;extension=php_openssl.dll

Tek yapmanız gereken bu olmalı. Composer yükleyicisi, ihtiyacınız olan her şeyi buradan yapmalıdır.


2
Bu, doğru çözüm (WAMP dışı bir kurulum için) kurulumun bulunduğu TEK çevrimiçi yerdir. Teşekkürler!
adamdehaven

11

Her iki dosyada da (php ve apache) "extension = php_openssl.dll" yi etkinleştirmeniz gerekir. bilgisayar dosyalarımın yolu şunlar:

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

8

Bu eski bir soru ama aynı sorunu yaşadım (PHP7 ile) ve çözüm sonunda oldukça basitti. php.iniDiğer cevaplara göre satırın yorumunu kaldırmak yine de yeterli değildi. Bunu şuradan değiştirmem gerekiyordu:

;extension=php_openssl.dll

için:

extension=ext/php_openssl.dll

extÖneki not alın . Dll zaten vardı, ancak bir alt klasördeydi. Yapılandırmayı değiştirdikten sonra besteci yükleyici mutlu oldu.


7

openssl uzantısını etkinleştirmeniz gerekir

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

Bu, türüne sahip olan php yapılandırma dosyasıdır ve sürücü not defteri benzeri bir simgeye sahip "yapılandırma ayarları" vardır.

  1. ya not defteri ya da herhangi bir düzenleyici ile açın,
  2. openssl araması "sizin ctrl + F" yapacaktır.
  3. openssl uzantısından önce bir noktalı virgül var

    ;extension=php_openssl.dll

    noktalı virgülü kaldırın ve

    extension=php_openssl.dll
  4. dosyayı kaydedin ve WAMP sunucunuzu yeniden başlatın, bundan sonra hazırsınız. Çalışması gereken uygulamayı yeniden yükleyin.

6

Biri php.inigeliştirme ve diğeri üretim için olmak üzere iki dosya vardır . php.iniBunları bırakın, konfigürasyon ayarları için hemen üstlerinde simge gibi bir dişli ile düzenleyen başka bir dosya var.


Alternatif olarak, benimkinin bir varsayılanı yoktu. Sadece prod / dev'i kopyalayın / yapıştırın ve olarak yeniden adlandırın php.ini, ardından diğerlerinin burada önerdiği düzenlemeleri yapın.
Brynn Bateman

3

"Doğru" dosyaları düzenledikten sonra (tüm php.ini'ler). Hala sorunum vardı. Benim çözümüm şuydu:

  1. Bir Sistem değişkeni eklemek: OPENSSL_CONF

    OPENSSL_CONF değeri, mevcut php sürümünüzün openssl.cnf dosyası olmalıdır.

benim için öyleydi:

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

-> WAMP'ı yeniden başlatın -> şimdi çalışmalı

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


2

Aynı problemle karşılaştım, ancak php.ini ve php.exe için lokking yaparken php.exe'yi C: \ UwAmp \ bin \ php \ php-5.4.15 konumunda, php.ini C: \ UwAmp \ bin konumunda buldum. \ apache. Sadece C: \ UwAmp \ bin \ php \ php-5.4.15 konumunda php.ini'yi kopyaladım ve satır uzantısı = php_openssl.dll'nin açıklamasını kaldırdım ve düzeltildi.


2

WAMP sunucusu kullanıyorum. Aslında dosyaları openssl'nin açıldığını gösterdi. Ama elle klasöre gittim ve düzenledim php.ini. Sonra openssl'yi açmadığını fark ettim ve WAMP yeniden başlatıldıktan sonra çalıştı.


2

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

Şu satıra göz atın:

;extension=php_openssl.dll

ve satırın önündeki noktalı virgülü kaldırın. WAMP sunucu hizmetlerinizi yeniden başlatın (simge tepsinizde> 'Tüm Hizmetleri Yeniden Başlat'ı tıklayın.


1

Hala sorununuzu çözemezseniz, buna bir göz atın. Aradığınız çözüm bu olabilir

C: \ wamp \ bin \ php \ php xyz klasöründe birkaç php.ini dosyası vardır. Üretim, geliştirme ve diğer bazı php.ini dosyalarını bulabilirsiniz. Üretim ve geliştirme dosyalarını düzenlemenin anlamı yok. Aşağıdaki resimle tamamen aynı olan dosyayı bulun. (Bulabilirsiniz. Arama çubuğunuza php.ini yazın ve bir arama yapın). Dosyayı açın ve kaldırın; extension = php_openssl.dll'den. Dosyayı kaydedin ve kapatın. Wampp sunucusundaki tüm hizmetleri yeniden başlatın. Bestecinizi yeniden kurun.

İşte bu.

görüntü açıklamasını buraya girin


1

Wamp, C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini içinde bulunan başka bir php.ini ile çalışır. Bu nedenle, doğru dosyayı, yani C: \ wamp \ bin \ php \ php5.4.12 \ php.ini içinde manuel olarak bulmanız gerekir. Extension = php_openssl.dll satırının açıklamasını kaldırın ve Composer'ı tekrar kurmayı deneyin.


1

Benimle aynı sorunu yaşayanlar için. Yukarıdaki tüm çözümleri yaptıktan sonra hala benim için işe yaramadı. UWamp'ın PHP.INI dosyasını bin / apache dizininde oluşturduğunu öğrendim. Bu yüzden PHP.INI dosyasını php kurulum dizinine, yani bin / php / phpXXXX dizinine kopyalamak zorunda kaldım. Bu aynı zamanda besteci kurulumundan seçtiğiniz php.exe'nin olduğu yer olmalıdır.

Bu yardımcı olur umarım.


1

Kaynaktan extension=php_openssl.dllderlediyseniz, php.ini dosyasına eklemek işe yaramayabilir .

Bu sorunu gidermek için bir komut istemi açın ve yazın php -i. İlk satıra gidin, size php.ini dosyanızla ilgili en son hatayı söyleyecektir.

Sorunu çözmek için, php_openssl.dlldosyayı bulun, benim için derleme çıktısıyla aynı dizindeydi: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS Bu nedenle, uzantının olduğu dizini şuraya ekleyin php.ini:

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

Umarım hata giderilir


0

Eğer xampp kullanıyorsanız, kurulumunuzun başlangıcında hangi komut satırı php'yi kullanmak istediğinizi seçtiğiniz yere geri dönün ve xampp klasörünüzün dahil olduğu yolu seçin. php_openssl.dll 'php ini'nizdeki bir ssl dosyasını'; 'ile yorumlayın ve kurulumunuz sorunsuz çalışmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.