PHPのopenssl拡張機能を有効にしてComposerをインストールする方法


113

WAMPセットアップでLaravelをインストールしようとしています。すでにWAMPで行っていたopensslを有効にしないという警告メッセージが表示されます。

これはメッセージのスクリーンショットです。

ここに画像の説明を入力してください


1
環境変数でPHPのパスを確認します%PATH%。ComposerがWampServerではなく他の場所でPHPを探している可能性があります。
Rubens Mariuzzo 2013

私も同じ問題を抱えていました。wampアイコンからphp.iniを編集していました。しかし、私はそれを手動で行い、サーバーを再起動すると動作しました。
themhz

回答:


121

WAMPとComposerが異なるPHPインストールを使用している可能性があります。Composerは、PATH環境変数に設定されたPHPを使用します。

openssl拡張機能を有効にしてComposerをインストールする場合は、最初にPHPインストールの場所を確認する必要があります。

  1. コマンドプロンプトを開き、次のように入力しecho %PATH%ます。次に、PHPインストールの場所を確認します。
  2. その場所に移動して、という名前のファイルを編集しますphp.ini
  3. extension=php_openssl.dll先頭のセミコロンを削除して、行のコメントを解除します。

これで、Composerをインストールできます。


2
XAMPPインストールにこの拡張機能がないのは偶然です。私はphp.iniに(extension = php_openssl.dll)を追加したところ、laravelの依存関係をダウンロードして動作しています。
Adrian P.

8
私が入力するecho %PATH%と、次のようになります:C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin..これらのディレクトリのいずれにもphpがインストールされていません。
2014年

19
wampは次のphp.iniを使用しています:c:\ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.iniしかし、composerはCLIからPHPを使用しているため、次のファイルを読み取っています:c:\ wamp \ bin \ php \ php5.4.12 \ php.ini(そこでopensslを有効にする必要があります)
Enrique

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

30
また、コメントを外す必要がありました extension_dir = "ext"php.iniはなく、私の代わりにWAMPのプレーンなPHPのインストールを使用しています。
David Harkness、2015年

62

別の方法で問題を解決しました。問題は、wampのGUIが誤解を招くというphp_opensslことです。有効にしたと主張しました。php.ini同じGUI をクリックした場合、実際にextension=php_openssl.dllはコメントが外されていることが示されました。

OPのComposerの同じインストーラーバージョンを使用しているかどうかはわかりませんが、実際には最初に、 php.exeを適用する対象するように求められます(これにより、基本的に誰もがComposerを適用しようとしないことが保証されますOPで何が起こったかなど、間違ったphp実行可能ファイル。

私がこれを解決した方法は、wampパッケージ内のphpのインストールに自分で行って、そこC:\wamp\bin\php\php5.4.12を見るというものでしたphp.in。それを開いたとき、その行extension=php_openssl.dllが実際にコメントされていることにショックを受けました!私はそれをコメント解除し、それはうまくいきました。

ここに画像の説明を入力してください


この回答を確認する必要があったおかげで、wampが5.5.12を使用していることがわかりましたが、php.exeに5.4ディレクトリを選択しました
Afnan Bashir 2014

ファイルlibeay32.dllまたはliblibcrypto-*.dll常駐のパスは何ですか?php.net/manual/de/openssl.installation.php
BernhardDöbler

53

私は同じ問題を抱えていましたが、ここで私が見つけた解決策は、php.iniでいくつかの変更を行う必要があることです。

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

ここでは、openssl拡張機能をアクティブにすることを話しますが、Windowsでは、拡張機能dirもアクティブにする必要があります。


3
メンはあなたが唯一言及した人ですextension_dir、あなたは素晴らしいです!
giannis christofakis 2015

これでうまくいきました。このチュートリアルのように直接PHPをダウンロードしました
2016年

26

WAMPサーバーの場合、「エンリケ」からのコメントで問題が解決しました。

wampはこのphp.iniを使用しています:

c:\wamp\bin\apache\Apache2.4.4\bin\php.ini

しかし、composerはCLIからPHPを使用しているため、次のファイルを読み取っています。

c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)

composerの場合、拡張機能を有効にする必要があります

c:\wamp\bin\php\php5.4.12\php.ini

変化する:

;extension=php_openssl.dll 

extension=php_openssl.dll

MAMPの場合、php.iniファイルをC:\ MAMP \ conf \ phpx.xxからC:\ MAMP \ bin \ php \ phpx.xx(\ conf \ ....を\ bin \ ..にコピーする必要がありました。 。)
マイク

15

WAMPスタックが1つもない Windowsでこれを実行している場合、これを実行する方法は次のとおりです

  1. PHP for Windowsのインストールをダウンロードします。一般的には、スレッドセーフでないインストールが必要です。32ビットまたは64ビットのビルドを使用できます
  2. zipファイルをどこかに解凍します。お勧めしC:\phpます。Composerのインストーラーは、それ以上のプロンプトなしでそれを見つけました
  3. PHP for Windowsの最新バージョンには、デフォルトではが付属していませんphp.ini。代わりに、下記のように2つのファイルが表示されます。名前を変更するphp.iniか、コピーしてくださいphp.iniます。
    • php.ini-development
    • php.ini-production
  4. php.iniファイルを開き、この行からセミコロンを削除します(他のコメントも解除したい場合がありますが、この行はComposerに必要な唯一の行です)。

    ;extension=php_openssl.dll

それだけで十分です。Composerインストーラーは、ここから必要なすべてを実行する必要があります。


2
これは、正しいソリューション(WAMP以外の場合)が設定されたオンラインの唯一の場所です。ありがとう!
adamdehaven 2017年

11

両方のファイル(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

8

これは古い質問ですが、同じ問題が(PHP7で)発生しただけで、解決策は結局非常に簡単でした。php.iniただし、他の回答に従ってコメントを外すだけでは十分ではありませんでした。私はそれを変更する必要がありました:

;extension=php_openssl.dll

に:

extension=ext/php_openssl.dll

ext接頭辞に注意してください。DLLはすでに存在していますが、サブフォルダーにありました。設定を変更した後、composerインストーラーは満足のいくものでした。


7

あなたはopenssl拡張を有効にする必要があります

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

それはそれがタイプを持っているphp構成ファイルであり、アイコンのようなドライバのメモ帳で「構成設定」を持っています。

  1. メモ帳または任意のエディターで開きます。
  2. openssl "your ctrl + F"を検索すると、
  3. openssl拡張の前にセミコロンがあります

    ;extension=php_openssl.dll

    セミコロンを削除すると、

    extension=php_openssl.dll
  4. ファイルを保存し、WAMPサーバーを再起動してください。動作するはずのアプリケーションを再インストールします。

6

php.ini開発用と本番用の2つのファイルがあります。それらを残してください、php.iniアイコンのようなギアでそれらのすぐ上に設定を構成するための別のファイルがあります。


あるいは、私のデフォルトはありませんでした。prod / devの1つをコピーして貼り付け、名前をに変更してからphp.ini、他のユーザーが提案した編集をここで行います。
ブリンベイトマン2016年

3

「正しい」ファイル(すべてのphp.ini)を編集した後。まだ問題がありました。私の解決策は:

  1. システム変数の追加:OPENSSL_CONF

    OPENSSL_CONFの値は、現在のphpバージョンのopenssl.cnfファイルでなければなりません。

私にとっては:

  • C:\ wamp \ bin \ php \ php5.6.12 \ extras \ ssl \ openssl.cnf

-> WAMPを再起動します->これで動作するはずです

ソース:http : //php.net/manual/en/openssl.installation.php


2

私は同じ問題に直面しましたが、php.iniとphp.exeを探していたとき、php.exeがC:\ UwAmp \ bin \ php \ php-5.4.15にあり、php.iniがC:\ UwAmp \ binにあるとき\ apache。私はphp.iniをC:\ UwAmp \ bin \ php \ php-5.4.15にコピーし、行extension = php_openssl.dllのコメントを外すと修正されます。


2

WAMPサーバーを使用しています。実際、そのファイルはopensslが開かれていることを示していました。しかし、手動でフォルダに移動して編集しましたphp.ini。次に、opensslを開いていないことがわかりました。コメントを外すと、WAMPの再起動後に機能します。


2

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

次の行を参照します。

;extension=php_openssl.dll

行の前のセミコロンを削除します。WAMPサーバーサービスを再起動します(アイコントレイをクリック> [すべてのサービスを再起動])


1

それでも問題を解決できない場合は、こちらをご覧ください。これはあなたが探している解決策かもしれません

C:\ wamp \ bin \ php \ php xyzフォルダにいくつかのphp.iniファイルがあります。プロダクション、開発、その他のphp.iniファイルを見つけることができます。本番および開発ファイルを編集する意味はありません。下の画像とまったく同じファイルを見つけます。(検索できます。検索バーにphp.iniと入力して検索してください)。ファイルを開いて削除します。extension = php_openssl.dllから。ファイルを保存して閉じます。Wamppサーバーのすべてのサービスを再起動します。Composerを再インストールします。

それだ。

ここに画像の説明を入力してください


1

WampはC:\ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.iniにある別のphp.iniで動作します。したがって、C:\ wamp \ bin \ php \ php5.4.12 \ php.iniにある正しいファイルを手動で見つける必要があります。extension = php_openssl.dll行のコメントを外して、Composerをもう一度インストールしてみます。


1

私と同じ問題を抱えている人のために。上記のすべてのソリューションを実行した後も、私にとってはうまくいきませんでした。私は、uWampがbin / apacheディレクトリにPHP.INIファイルを作成していたことを知りました。PHP.INIファイルをphpのインストールディレクトリ、つまりbin / php / phpXXXXディレクトリにコピーする必要がありました。これは、php.exeがcomposerセットアップから選択した場所でもあるはずです。

お役に立てれば。


1

ソースからコンパイルした場合extension=php_openssl.dll、php.iniファイルへの追加が機能しないことがあります。

これをトラブルシューティングするには、コマンドプロンプトを開いてと入力しますphp -i。最初の行までスクロールすると、php.iniファイルに関する最新のエラーが表示されます。

問題を解決するには、php_openssl.dllファイルを見つけます。私にとっては、それはコンパイル出力の非常に同じディレクトリにありました。 C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS そのため、拡張子があるディレクトリをに追加しますphp.ini

extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"

うまくいけば、エラーがなくなるでしょう


0

xamppを使用している場合:インストールの最初に使用するコマンドラインphpを選択する場所に戻り、xamppフォルダーが含まれているパスを選択します。その後、インストーラーから重複した 'extension = php_openssl.dll 'は、php iniの1つのsslファイルに'; 'でコメントし、インストールはスムーズに実行されます。

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