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のTLSをオフにすることで修正しました安全ではありませんですが、開発マシンにリスクがあると想定しました。
これを試して:
composer config -g -- disable-tls true
composerを再実行します。うまくいきます!
しかし、これは安全ではなく、サーバーには推奨されませんです。公式のウェブサイトは言う:
Trueに設定すると、すべてのHTTPS URLが代わりに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-serverをリロードしてください!
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は、shared
ライブラリとして設定されたopenSSLでコンパイルする必要があります- PHP CLI SAPI からアクセスできるようにするため。
Opensslを有効にするには、php.iniに移動して次の行を有効にします。
extension=php_openssl.dll
opensslを有効にしたくない場合は、composerに設定できます。このコマンドでopensslを使用しないでください。
composer config -g -- disable-tls true
ただし、これはセキュリティ上の問題です。
私はまったく同じ問題を抱えていて解決策を見つけることができなかったので、しばらく考えて探したところ、PHP.INIがPHP Extensionsの正しいディレクトリを検索していないように思われたので、私は下に行きました:
「ロード可能な拡張機能(モジュール)が存在するディレクトリ。」そして、以下を見つけました:
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;extension_dir = "ext"
そして、単に削除しました。 "extension_dir =" ext "の前、これはWindows専用であることに注意してください。別のオペレーティングシステムを実行している場合は、最初のextension_dirの前のセミコロンを削除してください。
なぜ私のものがまだマークされていないのか分かりませんが、問題がある場合に探すべきものです。
この問題はopensslと拡張ディレクタが原因で発生するため、php.ini
ファイルの拡張の下のコメントを外します
extension=php_openssl.dll extension_dir = "ext"
私のマシンで動作します。