Dosyaları https yoluyla indirmek için openssl uzantısını etkinleştirmelisiniz


123

Zend Framework 2'yi kurmak istedim. Bu yüzden iskelet uygulamasını indirdim. ZF2 kılavuzunda belirtildiği gibi, şu komutu vermeliyiz

php composer.phar install 

İskeletin içinde.

Ama bir hata alıyorum

Dosyaları https yoluyla indirmek için openssl uzantısını etkinleştirmelisiniz

Sonra wamp'ımda ssl_module'u etkinleştirdim, php_ini dosyasını kontrol ettim ve aşağıdaki satırı görebiliyorum

uzantısı = php_openssl.dll

Yine de aynı hatayı alıyorum. Neyi kaçırdığımı bilen var mı?


1
Travis-ci'yi çalıştırırken bu problemi yaşadım ve ortaya çıktı ki, güneş altındaki her linux dağıtımından farklı olarak, eski travis-ci ortamlarından bazılarının opensl olmadan derlendiği ortaya çıktı, tıpkı başka birinin aynı problemle karşılaşması ihtimaline karşı.
Kzqai

@Kzqai böyle de PHP 5.3.3 gelince Travis bu uzantıyı derlemek mümkündür sorumu ? Yemek kitaplarından PECL uzantılarını yükleyebileceğinizi görüyorum , ancak openssl uzantısının PECL aracılığıyla kullanılabileceğini düşünmüyorum.
Jeff Puckett

Yanıtlar:


286

PHP CLI SAPI, php.iniCGI veya Apache modülünden farklı kullanıyor .

Satırı bulun ;extension=php_openssl.dlliçinde wamp/bin/php/php#.#.##/php.ini ve noktalı virgül (kaldırarak yorumsuz ;satırın başından).


Ayrıca phar uzantısını (uzantı = php_phar.dll) ve aşağıda belirtildiği gibi apache ssl modülünü etkinleştirmem gerekiyordu!
Diego Favero

1
"PHP CLI SAPI, CGI veya Apache modülünden farklı php.ini kullanıyor." Numara buydu!
George D.

Bu satırı içinde bulamazsanız, satırı içindeki Dinamik Uzantılar bölümünün altına php.inieklemeniz yeterlidir extension=php_openssl.dll.
totymedli

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

Mac kullanıyorsanız ve portPHP sürümünü port select php php55port install php55-openssl
şuradan

36

Doğru php.ini dosyasını düzenlediğinizi doğrulayın.

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

"WAMP, CLI'de ve Apache için farklı php.ini dosyaları kullanır. Php_openssl'i WAMP UI üzerinden etkinleştirdiğinizde, onu CLI için değil Apache için etkinleştirirsiniz. C: \ wamp \ bin \ php \ php- 'yi değiştirmelisiniz. CLI için etkinleştirmek için XYZ \ php.ini. "


2
bunu kim düşünürdü ... Gerçekten ... Bu sorunu çözdü. Teşekkürler
Ruwantha

20

uzantı klasörüne giden doğru yola sahip olduğunuzdan emin olun

extension_dir = "ext"

varsayılan olarak yorumlanır; karakter


1
bu satır tamamen yorumlandı ve şimdi çalışıyor
Brian Dillingham

Windows kurulumu için önemli!
haakym

Bu hat nerede? Hangi dosyada? 1'deki php.ini, C: \ wamp64 \ bin \ apache VEYA 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

Zend Framework 2 ve besteci etrafında oynarken de aynı sorunu yaşadım. PHP 5.4 kullanıyorum (macports üzerinden kurulur) ve benim çözümüm macports aracılığıyla PHP 5.4 için openssl'yi kurmaktı.

sudo bağlantı noktası yükleme php54-openssl

5

Bu sorunla karşılaştım, ancak openssl'yi (cli için de) yapılandırmak yardımcı olmadı.

Besteciyi güncelledim ve bu benim sorunumu çözdü.

Sadece yaz:

$ php composer.phar self-update

veya

$ composer selfupdate

İyi şanslar!


4

XAMPP kullanıyorum. C: \ xampp \ php \ php.ini'de, openssl için girdi yoktu, bu yüzden 989. satıra "extension = php_openssl.dll" ekledim ve besteci çalıştı.


4

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


Bu yanlış. Hangi php.ini'nin kullanıldığını phpinfo () ile kontrol edin
ThaDafinser

3

Uttam, sorununuz çözülmediyse follwoing 3 adımlı yaklaşımı deneyin. Tamamen aynı sorunu yaşadığım için benim için çalıştı.

step1: wamp tepsi simgesine tıklayın.

step2: menüye git apache-> apache modülleri

step3: "ssl_module" menü öğesini tıklayın

wamp'ı otomatik olarak yeniden başlatacaktır. wamp otomatik olarak yeniden başlatılmazsa, wamp tepsi menüsü-> Tüm Hizmetleri Yeniden Başlat yoluyla yeniden başlatın. Yeniden başlattıktan sonra apache-> apache modülleri menüsünde "ssl_module" öğesinin işaretli olarak geldiğini doğrulayın

bundan sonra php composer.phar kurulumunun sizin tarafınızdan paylaşılan yanıtı geçmesini deneyin, php.ini dosyası extension = php_openssl.dll ve php / ext dizini de "php_openssl.dll" dosyasını içerir

iyi şanslar


3

Valery'nin cevabı bana yardımcı oldu: https://stackoverflow.com/a/14265815/492457

WAMP, CLI ve Apache için farklı php.ini dosyalarını kullanır. php_openssl'yi WAMP UI üzerinden etkinleştirdiğinizde, onu CLI için değil Apache için etkinleştirmiş olursunuz. CLI için etkinleştirmek için C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini'yi değiştirmelisiniz.


2

Eğer güncelleme emin olun php.iniFOR CLI. Benim durumum için bu C:\wamp\bin\php\php5.4.3\php.inive uncomment extension=php_openssl.dllline.


1

Geç cevap ama diğerlerini ekleyerek nedenini öğrenebilir.

Ayrıca php.ini dosyasını "wamp \ bin \ php \ php-XYZ" konumunda düzenlemeniz gerekir.


0

Ben yorumsuz zorunda extension=openssliçinde php.iniçalışmalarına her şey için dosyanın!


0

Dikkat edin, eğer wamp kullanıyorsanız, wamp kullanıcı arayüzünü extension=php_openssl.dll

: Sadece örneğin, php dizinine gidin C:\wamp\bin\php\php5.4.12ve düzenlemek php.inive yorumsuz extension=php_openssl.dll.

İşe yaramalı.

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.