https経由でファイルをダウンロードするには、openssl拡張機能を有効にする必要があります


123

Zend Framework 2をインストールしたかったので、スケルトンアプリケーションをダウンロードしました。ZF2マニュアルで述べたように、コマンドを発行する必要があります

php composer.phar install 

スケルトンの中。

しかし、エラーが発生します

https経由でファイルをダウンロードするには、openssl拡張機能を有効にする必要があります

次に、wampでssl_moduleを有効にし、php_iniファイルを確認すると、次の行を確認できます

extension = php_openssl.dll

それでも同じエラーが発生します。私が見逃した手掛かりを持っている人はいますか?


1
私はtravis-ciを実行しているときにこの問題があり、太陽の下でのすべてのLinuxディストリビューションとは異なり、他の誰かが同じ問題に遭遇した場合に備えて、古いtravis-ci環境の一部がopensslなしでコンパイルされていることがわかりました。
Kzqai 2013

@Kzqai 私の質問の PHP 5.3.3のように、travisでこの拡張機能をコンパイルすることは可能ですか?PECL拡張機能をインストールできることが彼らのクックブックからわかりますが、openssl拡張機能はPECLを介して利用できるとは思いません。
Jeff Puckett

回答:


286

PHP CLI SAPIはphp.ini、CGIまたはApacheモジュールとは異なるものを使用しています。

;extension=php_openssl.dllを検索し、行頭からwamp/bin/php/php#.#.##/php.ini セミコロン(;)を削除してコメントを外します。


また、phar拡張機能(extension = php_phar.dll)を有効にする必要があり、以下で説明するように、apache sslモジュールを使用しました。
Diego Favero 2013

1
「PHP CLI SAPIは、CGIまたはApacheモジュールとは異なるphp.iniを使用しています。」それがトリックでした!
ジョージD.

その行が見つからない場合は、Dynamic Extensionsパーツの下にphp.ini行を追加するだけですextension=php_openssl.dll
totymedli 2013

私はxamppを使用しています。Composerは、 ';'を削除した後でも、同じopen ssl missingエラーを出します。php.iniのopenssl拡張の例。
Shashikumar Misal 2014年

Macとを使用している場合port、PHPバージョンを選択しport select php php55て拡張機能をインストールできますport install php55-openssl
Prabowo Murti '26

36

正しいphp.iniファイルを編集していることを確認します。

リファレンス:https : //github.com/composer/composer/issues/1440

「WAMPはCLIとApacheで異なるphp.iniファイルを使用します。WAMPUIからphp_opensslを有効にすると、CLIではなくApacheで有効になります。C:\ wamp \ bin \ php \ php-を変更する必要がありますXYZ \ php.iniを有効にしてCLIで有効にします。」


2
誰がそれを考えたのでしょう...本当に...これで問題は解決しました。ありがとう
Ruwantha

20

拡張フォルダへの正しいパスがあることを確認してください

extension_dir = "ext"

デフォルトではコメント化されています。キャラクター


1
この行は完全にコメント化され、現在は機能しています
ブライアンディリンガム2014年

Windowsのインストールに重要です。
haakym 2016年

この行はどこですか?どのファイルですか?1のphp.ini、C:\ wamp64 \ bin \ apacheまたは2. C:\ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

Zend Framework 2と作曲家を遊んでいるときにも同じ問題が発生しました。私はPHP 5.4(macports経由でインストール)を使用していますが、私の解決策は、macports経由でPHP 5.4用のopensslもインストールすることでした。

sudoポートインストールphp54-openssl

5

私はこの問題に直面しましたが、openssl(CLIの場合も)を構成しても解決しませんでした。

私は作曲家を更新し、これが私の問題を解決しました。

入力するだけです:

$ php composer.phar self-update

または

$ composer selfupdate

幸運を!


4

XAMPPを使用しています。C:\ xampp \ php \ php.iniには、opensslのエントリが存在しなかったため、989行目に「extension = php_openssl.dll」を追加すると、composerが機能しました。


4

両方のファイル(phpとapache)で「extension = php_openssl.dll」を有効にする必要があります。私のPCファイルのパスはこれらです:

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

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


これは間違っています。phpinfo()で、どのphp.iniが使用されているかを確認します
ThaDafinser 2015

3

問題が解決しない場合は、次の3ステップのアプローチを試してください。私はまったく同じ問題を抱えていたので、私にとってはうまくいきました。

ステップ1:ワンプトレイアイコンをクリックします。

ステップ2:メニューに移動するapache-> apacheモジュール

ステップ3:メニュー項目「ssl_module」をクリックします

自動的にワンプを再起動します。Wampが自動的に再起動しない場合は、Wampトレイメニューから再起動し、[すべてのサービスを再起動]をクリックします。再起動後、「ssl_module」がメニューapache-> apache modulesの下でチェックされていることを確認します

その後、php composer.pharをインストールして、共有された応答を実行します。php.iniファイルには、extension = php_openssl.dllが含まれ、php / extディレクトリにも「php_openssl.dll」ファイルがあります。

幸運を


3

バレリーの答えが私を助けました:https : //stackoverflow.com/a/14265815/492457

WAMPは、CLIとApacheで異なるphp.iniファイルを使用します。WAMP UIを介してphp_opensslを有効にすると、CLIではなくApacheで有効になります。C:\ wamp \ bin \ php \ php-5.4.3 \ php.iniを変更してCLIで有効にする必要があります。


2

あなたが更新することを確認してくださいphp.iniためにCLI。私の場合、これはC:\wamp\bin\php\php5.4.3\php.iniコメントextension=php_openssl.dll行でした。


1

遅い答えですが、他の人が理由を知ることができるように追加します。

また、「wamp \ bin \ php \ php-XYZ」の場所にあるphp.iniファイルを編集する必要があります。



0

Wampを使用している場合は、Wamp UIを使用して有効にしないでください。 extension=php_openssl.dll

たとえば、phpディレクトリに移動して、をC:\wamp\bin\php\php5.4.12編集しphp.iniてコメントを解除しますextension=php_openssl.dllます。

うまくいくはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.