2016-02-07 19 views
30
composer create-project flarum/flarum . --stability=beta 

このコマンドを実行しようとしましたが、このエラーが表示されました。 SSL/TLS保護にopenssl拡張機能が必要です

[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. 

は、私は「拡張子= php_openssl.dll」を「php.iniの」を追加しようとしたが、それはまだ同じエラーが私に発生しました。このエラー

+1

"php.ini"に "extension = php_openssl.dll"を追加しようとしましたが、まだこのエラーがあります – tenki

+1

[Composer Warning:openssl拡張子が重複している可能性があります。どのようにWAMPで有効にする](http://stackoverflow.com/questions/14062055/composer-warning-openssl-extension-is-missing-how-to-enable-in-wamp) –

+0

PHPは手動でインストールされているか、パッケージからインストールされていますか? – apex39

答えて

71

を得ました。 これは安全ではありませんしかし、私はマシンのリスクを想定しました。

composer config -g -- disable-tls true 

をし、自分の作曲を再実行します。

これを試してみてください。それは私の作品です!

はセキュリティ保護されておらず、お勧めしません。

trueに設定すると、すべてのHTTPS URLがHTTPで試され、ネットワークレベルの暗号化は実行されません。これを有効にすることはセキュリティ上のリスクであり、推奨されません。より良い方法は、php.iniでphp_openssl拡張を有効にすることです。

あなたがあなたのマシン/サーバにセキュリティ保護されていない層を有効にしたくない場合は、OpenSSLを有効にするには、その後セットアップあなたのphp、それはまたに動作します。 PHP Openssl拡張がインストールされていることを確認し、php.iniファイルで有効にしてください。

のLinux/OSX:

extension=php_openssl.so 

のWindows:

extension=php_openssl.dll 
、OpenSSLを有効php.iniファイルに次の行を追加したり、見つけて、コメントを解除するには


そして、あなたのphp-必要に応じてfpm/web-server!

+8

あなたはそれを修正していません。あなたはただエラーを隠しているだけです。 Wampサーバーのphp.iniファイルでopen_sslモジュールを有効にする必要があります。 Wampは2つのphp.iniファイルを使用します。 1つはApache用、もう1つはCLI用です。 C:\ wamp \ bin \ php \ \ php.ini –

+2

で見つけることができる2番目のphp.iniファイルでopen_ssl拡張を有効にする必要がありますはい、私は知っていますが、私の会社は、ユーザー@thermosはopen_sslモジュールをオンにして動作しないとコメントしました。それから私はこの質問のための私の解決策を与える。 –

+0

また、ローカル開発マシンで実行している場合、これは本当に危険ですか?それはどうやってサーバーのセキュリティに影響を与えますか? – Hassan

8

referenceには、2つの関連するオプションがあります:disable-tlssecure-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からアクセスできるようにするには、PHPをsharedライブラリとして設定したopenSSLでコンパイルする必要があります。

4

私はまったく同じ問題を抱えていました。解決策を見つけることができませんでした。しばらく考えて、私のPHP.INIがPHP拡張機能の正しいディレクトリを見ていないと考えたので、下に:

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

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

そして単に削除。他のオペレーティングシステムを実行している場合は、最初のextension_dirの前のセミコロンを削除してください。

なぜ私はまだマークされていないのか分かりませんが、それはちょうどあなたが問題を抱えている場合を探すために何か

+0

php.iniのextension = php_openssl.dll行のコメントを外す/追加する解決策と一緒に –

4

OpenSSLはphp.iniのに行くと、このラインイネーブルにするには:あなたが作曲に設定することができますOpenSSLを有効たくない場合

extension=php_openssl.dll 

をこのコマンドでopensslを使用しないでください。

composer config -g -- disable-tls true 

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

+0

UbuntuでCAを信頼するようにコンポーザを設定するには、certsを '/ usr/local/share/ca-証明書/ 'は、あなたがあきらめて別の仕事を見つけるためにWindows上で行うことです。 –

+0

opensslは有効ですが、私はまだ同じエラーがあります – Wel

1

この問題はphp.iniファイル私のマシンで

extension=php_openssl.dll extension_dir = "ext"

その作品にはOpenSSLと拡張以下のようにコメント解除拡張ディレクターのために発生します。

関連する問題