web-dev-qa-db-ja.com

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

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

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

だからここに私がやったことがあります...

  1. トレイの私のWampアイコンから、php > php extensions > php_opensslをクリックしました
  2. これは、拡張機能の横にチェックマークを置くことでタスクが完了したことを示しています
  3. その後、WampServerを再起動しました
  4. 次に、トレイのWampアイコンからphp > php.iniをクリックし、コメント化されていないことを確認するためにopensslを検索しました。そうではありませんでした。
  5. その後、Composer-Setup.exeに戻り、再試行しました。 同じ警告メッセージ: "openssl extension is missing"
  6. OpenSSLでneverを使用した場合、何が設定されるべきかわからないので、httpsを使用してローカルサイトの1つを参照しようとしました。失敗しました。

私は何が欠けていますか?

お知らせ下さい。

130
sleeper

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

316
Valery I.

;extension=php_openssl.dllphp.ini行のコメントを外すのに加えて、他の全員が言及していることに加えて、;extension_dir = "ext"行のコメントも外しておく必要があります。コメントを解除するには、プレフィックスのセミコロンを削除して保存します。

その行は、WAMPやXAMPPなどのパッケージでは既にコメント解除されているかもしれませんが、Windows用の単純なPHPダウンロードではないため、検証する価値があります。また、php.iniなどのサンプルの1つを新しいファイルにコピーしてphp.ini-developmentという名前を付けて、php.iniファイルを作成する必要があります。次に、これらの変更を行います。

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

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

26
Scott Pigeon

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の答えと基本的に同じですが、2つのphp.iniファイルがあるかもしれないことを指摘したかっただけです。

16
regularmike

両方で;extension=php_openssl.dllのコメントを外します

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

それが動作します

12
vuhung3990

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 Word OPENSSLのメモ帳では、この;extension=php_openssl.dllを削除するだけです。 extension=php_openssl.dllがアクティブです。

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

5
voltronluis

開いたwamp/bin/Apache/apache2.4.4/bin/php config .. wamp/bin/php/php5.4.16/php conf設定、php-iniプロダクション、php-ini dev、phpForApache find extension = php_openssl .dllおよび;を削除してコメント解除

2
Njoroge Mathu

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

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

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

composerのインストールウィンドウで、[戻る]をクリックしてから[次へ]をクリックする(または閉じてからもう一度開始する)と、動作するはずです。

2
Zemba Albert

Php.iniへのシンボリックリンクを作成する必要があります。 ロシア語のリンク でごめんなさい。

2
Alex Pliutau

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

;extension=php_openssl.dll

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

extension=php_openssl.dll

ハッピーコーディング。

1
Sujeet Kumar

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

1
Augie Gardner

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

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

または

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

Httpd.exe Apache Webサーバー(C:\ myStack\Apache\bin)に関連していますが、Composerまたはphysical path cliモードはWebサーバーを使用しないためです!

0

Composerをインストールするために、以下の手順でうまくいきました:(WAMPバージョン2.4 x64bit)

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
satch_boogie

私は同じ問題に直面していました。 phpフォルダーの名前をphp7_winxxxxからphpに変更すると、正常に機能しました。 composerがc:/php/extのphp_opensslモジュールの場所をチェックしているように見えました。

環境変数のPATHc:/phpを追加する必要があるかもしれません

0
Tushortz