Composer警告:openssl拡張がありません。WAMPで有効にする方法


132

セットアップインストーラーを介してWin7 / 64 + WampServer 2.2にComposer依存関係管理ツールをインストールしようとすると、次のメッセージが表示されます。

openssl拡張が欠落しているため、Composerのセキュリティと安定性が低下します。可能であれば、それを有効にするか、phpを--with-opensslで再コンパイルする必要があります

これが私がしたことです...

  1. トレイの私のWampアイコンから、クリックした php > php extensions > php_openssl
  2. これは、拡張機能の横にチェックマークを付けることでタスクが完了したことを示しています
  3. 次にWampServerを再起動しました
  4. 次に、トレイのWampアイコンからphp > php.iniopenssl をクリックして検索し、コメント化されていないことを確認しました。そうではありませんでした。
  5. その後、Composer-Setup.exeに戻り、再試行しました。同じ警告メッセージ:「openssl拡張がありません」
  6. 決して私は、HTTPSを使用して、私の地元のサイトのいずれかを参照しようとしたようにOpenSSLで働いていない、私は、集合することになっているかわからないんだけど。失敗しました。

何が欠けていますか?

お知らせ下さい。


ワオ。私はグーグルに行ってもっと情報を得ようとしたところ、この投稿は検索結果に表示された。既に?速かった。:-}
寝台車

Webサーバーを再起動しましたか?
ペリクリス

はい、サーバーを再起動しました。
寝台

あなたがsslでどのくらい広範囲に取得しようとしているのかわかりませんが、これは役立つかもしれません:phpjoel.com/2011/04/07/…。それでも問題が解決しない場合は、DBとファイルをバックアップした後、トラブルシューティングの古き良き再インストール方法をいつでも試すことができます。
Cameeob2003

WampServerのバージョンを最新にアップグレードしました。同じメッセージ。インストールを続行しました。これまでのところ、顕著なエラーはありません。変だ。
寝台

回答:


316

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


2
あなたは私がララベルを吹くのを感じる私の愛を救いました...なぜ地獄はそれが古いバージョンのようにインスタレーションを離れなかったのですか:)
Tom

1
一体ララヴェルが私をここに連れてきました
tomexsans 14

1
私はuiniを使用していますが、iniファイルはどこにありますか?
Sujeet Kumar 14

回答はEasyPHPでも機能します(システムトレイEasyPHPアイコンを右クリックし、[構成]、[PHP]の順に選択して、メモ帳でphp.iniを開き、opensslを検索し、行のコメントを外します)
stifin

xamppの場合はどうすればよいですか?このメッセージを送信できませんでした。メーラーエラー:拡張機能がありません:openssl ,,,
pcs

27

他のすべての人が言及した;extension=php_openssl.dll行のコメントを外すことに加えてphp.ini;extension_dir = "ext"行もコメントを外すようにする必要があります。コメントを外すには、プレフィックス付きのセミコロンを削除して保存します。

その行は、WAMPやXAMPPなどのパッケージではすでにコメント解除されている可能性がありますが、Windows用の単純なPHPダウンロードには含まれていないため、確認する価値があります。また、php.ini例の1つをphp.ini-development新しいファイルなどにコピーしてファイルを作成し、名前を付ける必要がありphp.iniます。次に、そこで変更を加えます。

また、今後、PHPやComposerなどのツールをインストールするには、Chocolateyパッケージマネージャーを使用することをお勧めします。次に、それはと同じくらい簡単choco install composerです。もちろん、chocoメソッドを使用してComposerをインストールする前に、php.iniを編集する必要があります。Windowsの将来のバージョンでは、Chocolateyなどのパッケージ管理ツールapt-getがUbuntuに組み込まれます。Ubuntu でも同じです。開発者にとってエキサイティングな時代が到来します!

どちらの方法でも、Composerをインストールした後、ターミナルを再起動することを忘れないでください。コマンドプロンプト、Bash(Gitでインストール)、Powershellのいずれを使用していても、更新された環境変数が機能する前に再起動する必要があります。


4
これは、Windows上で作曲をインストールしようとしている10及びこれに続いている場合は、正しい答えであるガイド
robped

絶対..これは本当です..私はこれを知っていましたが、extWindowsでその行を忘れていました。思い出させてくれてありがとう。
WM

16

opensslが有効になっていても、同じ問題が発生しました。問題は、Composerインストーラーがこの構成ファイルを見ていたことでした。

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

しかし、ロードされた設定ファイルは実際にはここにあります:

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

したがって、最初のphp.iniファイルでコメントを外すだけでうまくいきました。これは、デフォルトで私のマシンにWAMPがインストールされた方法です。私は何も変更しなかったので、これはおそらく他の人にも起こるでしょう。これは基本的に上記のAugie Gardnerの回答と同じですが、php.iniファイルが2つある可能性があることを指摘したいと思います。


インストール中に指定されたデフォルトのパスが間違っていました。正しいphp.exeを指すと問題が解決されました。ありがとうございます。
Sandesh Damkondwar、2015

12

;extension=php_openssl.dll両方でコメント解除

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

それが動作します


私はxamppを使用しています。c/ php / php.iniとc / apache / bin / php.iniの2つのファイルを編集しました。この.extension = php_openssl.dllでセミコロンを削除しましたが、次のように同じエラーが発生します。このメーラーエラー:拡張子がありません:openssl ..
pcs

@sainaサーバーを再起動しましたか?また、phpinfo()を実行して、構成ファイルの場所を確認します。
Ivanka Todorova

5

C:\ laravel-master> composer create-project laravel / laravel laravel / laravel(v4.0.6)のインストール-laravel / laravel(v4.0.6)のインストール[RuntimeException] openssl拡張機能を有効にして、https経由でファイルをダウンロードする必要があります

EasyPhp(WAMPタイプ)を使用しています。タスクバーのEasyPHPアイコンで、右クリックして構成を選択し、次にPHPを選択します。私が開きますPHP.ini検索-見つけるか、メモ帳でファイル構成をCTRL+ F 単語のメモ帳にOPENSSLあなたはこれがわかります;extension=php_openssl.dllちょうど取り除きます。とextension=php_openssl.dllアクティブです。

C:\ laravel-master> composer create-project laravel / laravelインストールraravel / laravel(v4.0.6)-インストールraravel / laravel(v4.0.6)ダウンロード:C:\ laravel-master \ laravelに100%作成されたプロジェクトLoading composerパッケージ情報を含むリポジトリ依存関係のインストール(require-devを含む)


トピックから外れていることはわかっていますが、EasyPhpでcomposerをインストールする方法を教えてください。エラーが発生し、すべてを再インストールする必要があります。
HenryW 2014年

2

"c:\ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini"ファイル検索を編集する必要があります:; extension = php_openssl.dll

先頭のセミコロンを削除します

注:ファイルの保存が機能しない場合は、管理者として編集する必要があります。(win7の場合)スタートメニューに移動し、メモ帳を検索し、メモ帳を右クリックして、[管理者として実行]をクリックします。

Composerのインストールウィンドウで、前後にクリックするか、(または閉じてから再起動する)だけで動作します。



1

短くて甘い、この行のコメントを外して wamp/bin/php/php5.3.13(または任意のphpバージョン)の
;extension=php_openssl.dll 外し ます:(を削除します;
次に、Composerのコマンドラインインストールを実行します。エラーは発生しません。
行ってもいい!



1

はい、php.iniを開いてセミコロンを削除する必要があります。

;extension=php_openssl.dll

「;」を削除する このように、それは動作します。

extension=php_openssl.dll

ハッピーコーディング。


0

以下の手順でComposerをインストールするために私はうまくいきました:

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

これらの答えはすべて良いですが、実際には、コメントを付けていない拡張機能をすべて機能させたい場合は、拡張ディレクトリが正しい必要があります。次のような物理パスまたは相対パスを書くことができます

extension_dir = "C:/myStack/php/ext"

または

extension_dir = "../../php/ext"

これは、httpd.exe Apache Webサーバー(C:\ myStack \ apache \ bin)を基準にしています。ただし、Composerなどで動作させるには、CLIモードでWebサーバーを使用しないため、物理パスが必要です。


0

私は同じ問題に直面していました。私のphpフォルダーの名前をphpに変更php7_winxxxxしたところ、問題なく動作しました。composerがのphp_opensslモジュールの場所をチェックしていたようc:/php/extです。

in環境変数に追加c:/phpする必要がある場合もありPATHます

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