136

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

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

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

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

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

お知らせ下さい。

4

13 に答える 13

319

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

于 2013-01-10T19:32:15.513 に答える
32

他のすべての人が言及;extension=php_openssl.dllしている行のコメントを解除することに加えて、行もコメント解除されていることを確認する必要があります。コメントを解除するには、接頭辞付きのセミコロンを削除して保存します。php.ini;extension_dir = "ext"

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

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

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

于 2015-02-24T10:50:10.063 に答える
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がデフォルトで私のマシンにインストールされた方法です。私は何も変えなかったので、これはおそらく他の人にも起こるでしょう。これは基本的に上記のAugieGardnerの回答と同じですが、2つのphp.iniファイルがある可能性があることを指摘したいと思います。

于 2014-03-31T13:59:22.340 に答える
12

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

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

それが動作します

于 2014-05-19T09:42:51.380 に答える
5

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

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 laravel / laravel(v4.0.6)のインストール-laravel / laravel(v4.0.6)のインストールダウンロード:100%C:\ laravel-master\laravelにプロジェクトを作成パッケージ情報を含むリポジトリ依存関係のインストール(require-devを含む)

于 2013-08-08T04:25:52.537 に答える
2

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

最初のセミコロンを削除します

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

Composerのインストールウィンドウで、[戻る]、[次へ]の順にクリックする(または閉じてからやり直す)だけで、機能するはずです。

于 2014-12-11T14:54:32.230 に答える
2

開いた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 and uncomment削除することによって;

于 2015-04-29T17:56:11.353 に答える
1

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

于 2014-01-27T15:24:55.593 に答える
1

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

于 2014-05-26T12:56:39.567 に答える
1

はい、php.iniを開き、セミコロンを削除して次の操作を行う必要があります。

;extension=php_openssl.dll

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

extension=php_openssl.dll

ハッピーコーディング。

于 2014-07-09T11:48:24.767 に答える
0

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

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
于 2014-10-13T02:53:47.797 に答える
0

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

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

また

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

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

于 2017-03-31T14:42:08.410 に答える
0

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

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

于 2018-01-16T18:50:36.850 に答える