OpenSSL拡張はSSL / TLS保護に必要です。 -- php フィールド と composer-php フィールド 関連 問題

The openssl extension is required for SSL/TLS protection












76
vote

問題

日本語
<事前> <コード> composer create-project flarum/flarum . --stability=beta

このコマンドを実行しようとしていますが、このエラーが発生しました。

<事前> <コード> [RuntimeException] The openssl extension is required for SSL/TLS protection but is not availab le. If you can not enable the openssl extension, you can disable this error , at your own risk, by setting the 'disable-tls' option to true.

「Extension = php_openssl.dll」を "php.ini"に追加しようとしましたが、まだこのエラーが発生しました

英語
composer create-project flarum/flarum . --stability=beta 

I try to run this command, but it gave me this error.

  [RuntimeException]                                                              The openssl extension is required for SSL/TLS protection but is not availab     le. If you can not enable the openssl extension, you can disable this error     , at your own risk, by setting the 'disable-tls' option to true.   

I tried to add "extension=php_openssl.dll" to "php.ini", but it still got this error

</div
     
     
     

回答リスト

151
 
vote
vote
ベストアンサー
 

私にも同じエラーが発生しました。私は作曲家のためのTLSをオフにして、それは安全ではないが私の開発機のリスクを想定しました。

これを試してみてください:

<事前> <コード> composer config -g -- disable-tls true

をあなたの作曲家を再実行してください。それは私に働きます!

しかし、それはあなたのサーバーには推奨されないが推奨されませんです。公式のウェブサイトは次のとおりです。

trueに設定した場合は、代わりにHTTPで試行され、ネットワークレベルの暗号化は実行されません。これを有効にすることはセキュリティリスクであり、お勧めできません。より良い方法は、PHP.INIのPHP_OpenSSL拡張を有効にすることです。

マシン/サーバで安全でないレイヤを有効にしたくない場合は、 PHPをopenSSLを有効にするように設定し、も機能します。 PHP OpenSSL拡張機能がインストールされていることを確認し、php.iniファイルで有効にします。


opensslを有効にするには、php.iniファイルにこの行を追加または検索してコメントを追加します。

Linux / OSX:

<事前> <コード> extension=php_openssl.so

windows:

<事前> <コード> extension=php_openssl.dll 必要に応じてPHP-FPM / Webサーバーをリロードしてください。
 

The same error occurred to me. I fixed it by turning off TLS for Composer, it's not safe but I assumed the risk on my develop machine.

try this:

composer config -g -- disable-tls true 

and re-run your Composer. It works to me!

But it's unsecure and not recommended for your Server. The official website says:

If set to true all HTTPS URLs will be tried with HTTP instead and no network-level encryption is performed. Enabling this is a security risk and is NOT recommended. The better way is to enable the php_openssl extension in php.ini.

If you don't want to enable unsecure layer in your machine/server, then setup your php to enable openssl and it also works. Make sure the PHP Openssl extension has been installed and enable it on php.ini file.


To enable OpenSSL, add or find and uncomment this line on your php.ini file:

Linux/OSx:

extension=php_openssl.so 

Windows:

extension=php_openssl.dll 

And reload your php-fpm / web-server if needed!

</div
 
 
         
         
20
 
vote

Composerによるとリファレンス関連オプションが2つあります。 disable-tls および<コード> secure-http

<コード> nano ~/.composer/config.json (ファイルが存在しないか空の場合は、次のコンテンツで作成するだけで)

<事前> <コード> { "config": { "disable-tls": true, "secure-http": false } }

それからそれは多くのことを言っています:

<事前> <コード> You are running Composer with SSL/TLS protection disabled. Warning: Accessing getcomposer.org over http which is an insecure protocol.

しかし、<コード> composer selfupdate (または任意のもの)を実行します。

Linuxではphp.iniでSSLを有効にすることはできません。 PHP CLI Sapi 。

 

according to the composer reference there are two relevant options: disable-tls and secure-http.

nano ~/.composer/config.json (If the file does not exist or is empty, then just create it with the following content)

{     "config": {         "disable-tls": true,         "secure-http": false     } } 

then it complains much:

You are running Composer with SSL/TLS protection disabled. Warning: Accessing getcomposer.org over http which is an insecure protocol. 

but it performs the composer selfupdate (or whatever).

while one cannot simply "enable SSL in the php.ini" on Linux; PHP needs to be compiled with openSSL configured as shared library - in order to be able to access it from the PHP CLI SAPI.

</div
 
 
 
 
17
 
vote

私はまったく同じ問題を持っていて、解決策を見つけることができなかったので、私のphp.iniが私のPHP拡張のための私のphp.iniが正しいディレクトリを見なかったので、私は下に行きました。 :

"ロード可能な拡張子(モジュール)が存在するディレクトリ。」 そして以下を発見しました:

<事前> <コード> extension=php_openssl.so 0

と単に削除されます。 "extension_dir =" ext "のinforton:これはWindowsのみです。別のオペレーティングシステムを実行している場合は、最初のextension_dirの前にセミコロンを削除します。

私のものがまだマークされていないのはわかりませんが、問題を抱えているのであれば、それはただのことです。

 

I had the exact same problem and couldn't find a solution, so after thinking and looking for a while I figured that my PHP.INI apparently didn't look in the correct directory for my PHP Extensions, so I went under:

"Directory in which the loadable extensions (modules) reside." And found the following:

; http://php.net/extension-dir ; extension_dir = "./" ; On windows: ;extension_dir = "ext" 

And simply removed the ; infront of "extension_dir = "ext", note this is only for Windows, remove the semicolon in front of the first extension_dir if you are running a different operating system.

I have no idea why mine wasn't already unmarked, but it's just something to look for if you are having problems.

</div
 
 
 
 
15
 
vote

OpenSSLを有効にするにはphp.iniに入り、この行を有効にします。

<事前> <コード> extension=php_openssl.dll

OpenSSLを有効にしたくない場合は、このコマンドでOpenSSLを使用しないで設定することができます。

<事前> <コード> composer config -g -- disable-tls true

しかし、これはセキュリティ上の問題です。

 

To enable openssl go into php.ini and enable this line:

extension=php_openssl.dll 

if you don't want enable openssl you can set to composer not use openssl with this command:

composer config -g -- disable-tls true 

however, this is a security problem.

</div
 
 
   
   
12
 
vote

この問題はOpenSSLおよび拡張ディレクタによる発生しているため、 php.ini file

の拡張子以下の拡張子

<コード> extension=php_openssl.dll

<コード> extension_dir = "ext"

私のマシン上で動作します。

 

This issue occurs due to openssl and extension director so uncomment below extensions in php.ini file

extension=php_openssl.dll

extension_dir = "ext"

Its works on my machine.

</div
 
 
2
 
vote

すべてを試した後、私はついにこの並べ替えを得ました。上記の提案された解決策のどれも私のために働いていませんでした。私のシステムはPC Windows 10です。このソートされた C:Users[Your User]AppDataRoamingComposer にある config.json ファイルを変更する必要がありました。そこに、あなたは見つけるでしょう:

<事前> <コード> { "config": { "disable-tls": true}, "repositories": { "packagist": { "type": "composer", "url": "http://repo.packagist.org" // this needs to change to 'https' } } }

Packagist Repo URLを更新する必要がある場合は、 'HTTPS' URLバージョンを指す必要があります。

上記の解決策が件の95%の間働くことを知っていますが、私が言ったように、それは私のためにうまくいきませんでした。これが誰かに役立つことを願っています。

ハッピーコーディング!

 

After trying everything, I finally managed to get this sorted. None of the above suggested solutions worked for me. My system is A PC Windows 10. In order to get this sorted I had to change the config.json file located here C:Users[Your User]AppDataRoamingComposer. In there, you will find:

{     "config": {         "disable-tls": true},     "repositories": {         "packagist": {             "type": "composer",             "url": "http://repo.packagist.org" // this needs to change to 'https'         }     } } 

where you need to update the packagist repo url to point to the 'https' url version.

I am aware that the above selected solution will work for 95% of the cases, but as I said, that did not work for me. Hope this helps someone.

Happy coding!

</div
 
 
1
 
vote

私は同じ問題を抱えていました。私はこのページに記載されているすべてを試しました。私が作曲家を再インストールするとき、それは以前のように機能しました。私のシステム環境変数にインストールされたPHPパスとの依存関係を確立する新しいインストールで修正されたPHPバージョンの不一致がありました。

<コード> composer config -g -- disable-tls true アプローチをお勧めしません。

これを逆にする方法は composer config -g -- disable-tls false です。

 

I had the same problem. I tried everything listed on this page. When I re-installed Composer it worked like before. I had a PHP version mismatch that was corrected with a new install establishing the dependencies with the PHP path installed in my system environment variables.

I DO NOT RECOMMEND the composer config -g -- disable-tls true approach.

By the way the way to reverse this is composer config -g -- disable-tls false.

</div
 
 
1
 
vote

私はちょうどこれを加えたばかりで、開発者オプションを有効にして作曲家をインストールします(インストーラのボックスをチェックしてください)

https://getcomposer.org/composer-setup.exe

wampサーバーに新しいバージョンのPHPを追加すると、この問題が発生する可能性があります。 これを行う場合は、 extension_dir 変数が "env"に設定されているかどうかを確認する必要があります。

phpx.x / ext フォルダにphp_openssl.dllが存在するかどうかを確認してください。 php_openssl.dllがない場合は、ここでダウンロードする必要があります。 > http://www.telecharger-dll.fr/dll-php_openssl.dll。 HTML

まだ動作していない場合は、次のcmdコマンドを実行してApacheサーバが良いphp.iniファイルを使用しているかどうかを確認してください。

<事前> <コード> composer config -g -- disable-tls true 0

ロードされた構成ファイルが(なし)を返した場合は、appache / apache2.4.41 / conf / httpd.confファイルが適切なPhpinidirと正しいモジュールで設定する必要があります。それはこのようなものでなければなりません:

<事前> <コード> composer config -g -- disable-tls true 1

Apacheを再起動し、 "Apache / Apache2.4.41 / bin / php.ini"(Phpinidirで上記の1つが設定されている)を確認してください。

画像の説明を入力します。ここで

 

I just add this because it worked for me, i install composer with the developer option activate (just check the box in the installer)

https://getcomposer.org/Composer-Setup.exe

I think this problem may occurs when you add a new version of php to your wamp server. If you do this, you have to check if the extension_dir variable is configure to "env".

Then check if the php_openssl.dll exist in your phpx.x/ext folder. If there is not php_openssl.dll, you have to download it here : http://www.telecharger-dll.fr/dll-php_openssl.dll.html

If it still not working, check if your apache server use the good php.ini file by running the following cmd command :

php --ini  Configuration File (php.ini) Path: C:Windows Loaded Configuration File:         C:wamp64inphpphp7.4.7x64php.ini Scan for additional .ini files in: (none) Additional .ini files parsed:      (none) 

If the loaded configuration file return (none), you have to check your appache/apache2.4.41/conf/httpd.conf file is configure with the proper phpIniDir and the correct module.

It must be something like this :

PHPIniDir "${APACHE_DIR}/bin" LoadModule php7_module "${INSTALL_DIR}/bin/php/php7.4.7x64/php7apache2_4.dll" 

Then restart apache and check the "apache/apache2.4.41/bin/php.ini" (wich is the one configure above by PHPIniDir) it must me like

enter image description here

</div
 
 
0
 
vote

Windows 10では、働いていた人のどれも私のローカルサーバーをwampからlaragonに変更し、環境変数でphp.iniに新しいパスを追加しました:

コントロールパネル - &gt。高度なシステム設定 - &gt;環境変数 - &gt;パス(ダブルクリック) - &gt;参照...次にPHP.INIに移動して[OK]をクリックします。

その後再起動が必要で、今作曲家は魅力のように機能します!

 

For me on Windows 10 none of those worked ... I had changed my local server from WAMP to Laragon and had to add the new path to the php.ini in the Environment Variables under:

Control Panel --> Advanced System Settings --> Environment Variables --> Path (double click) --> Browse... then navigate to the php.ini and click ok.

After that a reboot was needed and now composer works like a charm!

</div
 
 
0
 
vote

画像の説明を入力します。ここで SSL / TLS保護が無効になっているComposerを実行しています。

<事前> <コード> composer config --global disable-tls true composer config --global disable-tls false
 

enter image description here You are running Composer with SSL/TLS protection disabled.

 composer config --global disable-tls true  composer config --global disable-tls false 
</div
 
 

関連する質問

5  Composerを使用してPropelをインストールします  ( Install propel using composer ) 
作曲家と宣伝を使用しようとしていますが、私は誤りを得ています。 my composer.jsonは: <事前> <コード> div0 とエラーは次のとおりです。 <事前> <コード> div1 誰かが私が行方不明のものを知っていますか?私はそれをグーグラ...

3  自分のプラグインComposerコマンドを作成する方法  ( How to create my own plugin composer command ) 
私はGoogleでComposerコマンドを作成することができるCakePHPプラグインのためにどのように作成できるかを見つけました。 プラグインを作成し、他のCakePHPプラグインを公開したいので、Composerがダウンロードすることができ、簡単にインス...

0  PHP致命的エラークラスが見つかりません - 作曲家  ( Php fatal error class not found composer ) 
作曲家を使ったプロジェクトを設定していて、PHPエラーログにこのエラーを取得しています。 PHP致命的なエラー:キャッチされたエラー:クラス 'SocialConnect Common Http Client Curl'が見つかりません /...

1  composer.jsonから新しいパッケージのみをインストールする  ( Installing only new packages from composer json ) 
composer.json ファイルへのパッケージ依存関係を手動で追加すると、 composer.json ファイルへのパッケージの依存関係を追加すると、Composer Updateのみが新しく追加されたパッケージのみを作成しようとしています。 > c...

2  Composerを使用してSymfonyバージョンを更新できません  ( Unable to update symfony version using composer ) 
私は2.7.13から2.7.38までの私たちのアプリのSymfonyバージョンを更新したいです。 私はcomposer.jsonを更新しましたが、更新しようとしたときにエラーが発生します。 コマンド: Composerの更新Symfony / Symfon...

1  YIIベースのアプリへの依存としてYii 1.1.xを追加して、作曲家の追加?  ( Adding yii 1 1 x as dependency to yii based app with composer ) 
このパスはDEV ENVの場合はOK: 1)PHP - >作曲家 - &gt; yii - &gt。 yii app 展開するとき: 2)PHP - >作曲家 - &gt; YIIアプリ要件 - &gt;すべての依存関係yiiが含まれています。 ...

1  Composerは私のローカルのpackages.jsonファイルを読んでいません  ( Composer is not reading my local satis packages json file ) 
私はPackages.jsonファイルを作成したままにして、すべての外部レポ(会社ポリシー)を保持するために私の地元のSVNリポジを設定しました。 Composerアップデートを実行すると、カスタムPackages.JSONファイルを使用して外部のレポの代わり...

0  Deeper Dev依存性のために合成者が一致しない  ( Composer does not find match for deeper dev dependency ) 
私は秘密リポジトリからバンドルを必要とするSymfonyアプリを持っています: <事前> <コード> { "name": "app", "repositories": [ { "type": "vcs", "url": "ssh...

1  Symfony 2.4で環境変数を取得する  ( Getting environement variables in symfony 2 4 ) 
Symfony 2.4アプリケーションで必要なenv変数を取得するのに苦労してきました。アイデアは、Amazon ECSによって管理されることになるDockerコンテナにアプリケーションを配置することです。 次のことを試みました: 1 - で変数をエク...

0  致命的なエラー:クラス 'cdbtestcase'が見つかりません  ( Fatal error class cdbtestcase not found ) 
私はPHPで新しい、私はアプリのテストをしなければなりません。単体テストを作成しようとしていますが、エラーメッセージが表示されます。私は何週間前に持っています、そして私はそれを修正することができない、私を助けてください! メッセージは次のとおりです。致命的な...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有