インストール失敗:ダウンロードに失敗しました。有効なトランスポートが見つかりません


10

'インストール失敗:ダウンロードに失敗しました。有効なトランスポートが見つかりませんでした。

このエラーは、WordPressにテーマをインストールしようとしたときに発生しました。この問題を解決するにはどうすればよいですか?


プラグインをインストールするときに同じエラーがありますか?
mmm '25年

回答:


13

WordPressサイトは、サイトのダッシュボードセクションを除いて、ほとんど問題なく機能しており、更新またはインストールに問題がありました。テーマをインストールしようとすると、「インストールに失敗しました:ダウンロードに失敗しました。有効なトランスポートが見つかりません」というエラーが表示されました。

幸いにも、私は次の解決策で問題を修正しました。

結局のところ、このエラーメッセージは、開発サーバーに拡張機能がないために発生し、WordPressが外部HTTPリクエストを実行できない場合に発生します。

解決策は非常に簡単です。これらのHTTP要求を可能にする欠落している拡張機能は、Wamp Serverとともにすでにインストールされています。デフォルトでは、それらは無効になっています。それらを有効にするには、php.ini設定ファイル編集する必要があります。

php.iniファイルの編集

php.iniファイルには、多くの拡張機能のリストが含まれており、それらの一部はデフォルトで無効になっています。私が有効にしなければならなかった唯一のものはopenssl拡張です。

その拡張機能を有効にする手順は次のとおりです。

  1. Wamp Serverを起動します。
  2. Wamp Serverアイコンをクリックし、PHP-> php.iniオプションに移動します。
  3. php.iniをダブルクリックします。そのため、デフォルトのテキストエディターでphp.iniファイルを開きます。
  4. php.iniファイルでphp_openssl.dllを検索します。->あなたは拡張機能がコメントアウトされていることがわかります:; extension = php_openssl.dll
  5. セミコロン(;)を削除して、その行のコメントを外します
  6. 変更を保存します。
  7. Wamp Serverを再起動します。

これで完了です!!!


3

WordPress HTTP APIは、可能な限り多くのサーバーで機能するように構築されており、さまざまな方法(トランスポート)を試してみます。

エラーメッセージによると、稼働中のトランスポートがないため、WordPressは発信HTTP要求を行うことができません。

Core Control WordPressプラグインのようなものをインストールすることをお勧めします。これにより、既存のすべてのHTTPトランスポートをデバッグできます。1つのトランスポートが機能していないときに、別のトランスポートが問題ない可能性があります。このプラグインを使用すると、壊れたプラグインを無効にして、新しいトランスポートでHTTP APIをテストできます。

実際にどのトランスポートも機能していないことが判明した場合は、ホスティングプロバイダーに連絡して、少なくともcURLなどをサーバーにインストールして、PHPでHTTPリクエストを実行できるようにする必要があります。


0

このエラーメッセージに関するアドバイスは非常に多様であり、誰も包括的な回答を提供しているようには見えません(いくつかのブログ重複した回答、およびここここ SOを参照)。うまくいけば、これは問題のより正式な見解です。

私は、Apacheを介して提供されるPHP上のWordPressのみを検討します(PHPで試したことがないため、現時点ではNginXについてコメントできません。また、他のフレームワークについてもコメントできません)。答えは、Apache 2.4.37を自作し、スレッドセーフなPHP 7.2とWordPress 4.2.Xを抽出したWindows 10への穏やかな偏見を示している可能性があります。

バックグラウンド

PHPとcURLは、WordPressが内部でとライブラリのRequestsラッパーに依存していることを、かなり上手に追加する説明しています。可能であればライブラリを優先しますが、プラグイン/テーマ/その他をダウンロードするためにライブラリにフォールバックする可能性があります。「トランスポートなし」エラーは、どちらのライブラリもApacheまたはPHP内で適切に構成されていないことを示しています。ファイアウォールがプロセスを妨害している可能性もあります。cURLfSocketsRequestscURLfSockets

小切手

ApacheとPHPの両方の構成をテストし、ブラウザーから標準のPHPinfoスクリプトをセットアップしてロードします。このセクションにはcURL、さまざまな情報を示すエントリを持つ、別のセクションが必要です。それ以外の場合は、次のスクリプトを設定およびロードして確認します。

<?php
echo 'Curl: ', function_exists('curl_init') ? 'Enabled' : 'Disabled';
?>

テスト方法がわかりませんfScokets

カール

の可用性を確保するには、cURL内でそれを有効にする必要がありますphp.ini

  • extentions_dirがones extensionsフォルダを正しく指していることを確認します

    extentions_dir="ext"

    (あるいはextentions_dir="D:PATH/TO/php/ext"、しばしば推奨されます)

  • cURL拡張が有効になっていることを確認します

    extension=curl

    extentions=php_curl(.so|.dll)またはextentions="PATH/TO/php_curl(.so|.dll)"、PHP <7.2の場合も推奨されます)

  • PHPそれはそのようだeay32ssh2ssleay32ライブラリももののパスに応じて利用可能である必要があります(OpenSSLの1.1でeay32改名されたcrypto-*ssleay32改名されましたssl-*)。Windowsでは、これらのライブラリをPHPルートフォルダーからsystem32or wow64フォルダーにコピーするのが醜いハックです。より良い解決策は、PHPのルートフォルダーを含むようにパス変数を変更することです(個人的には、必要に応じて構成するクリーンなパスを好みますが、これはPHPです)。* nixボックスでは、php5-curlディストリビューション用のパッケージをインストールするだけでよいようです。

    注:上のコメントはPHPのページは1つが単に追加しうることを示唆しているLoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"ものにエントリをhttpd.confしかしcURLもののパス時に、これらのライブラリーを探しているようです。提案をスムーズにする。XAmpp / Wampの人々は、自分のルートを自分のシステムパスにダンプしているように見えるため、このステップを回避します。

完了したら、Apacheを再起動します。Apacheモニターを使用している場合は、Apacheを実際に停止してから開始する必要があります。これにより、サービスを実行するための新しい環境が設定されます(再起動を保存します)。

fSocket

これを実現するために何が必要かわかりません。

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