Instalarea a eșuat: Descărcarea a eșuat. Nu s-au găsit transporturi funcționale

25 ian. 2018, 12:19:28
Vizualizări: 35.2K
Voturi: 15

'Installation failed: Download failed. No working transports found'.

Această eroare a apărut când am încercat să instalez o temă în WordPress. Cum pot rezolva această problemă?

1
Comentarii

ai aceeași eroare când instalezi un plugin?

mmm mmm
25 ian. 2018 13:02:01
Toate răspunsurile la întrebare 7
3
23

Site-ul WordPress funcționa aproape fără probleme, cu excepția unei secțiuni din panoul de administrare unde avea dificultăți la actualizări sau instalări. Când am încercat să instalez o temă, am primit eroarea "Instalarea a eșuat: Descărcarea a eșuat. Nu s-au găsit transporturi funcționale".

Din fericire, am rezolvat problema cu următoarea soluție.

Se pare că acest mesaj de eroare apare când lipsesc anumite extensii pe un server de dezvoltare, astfel încât WordPress nu poate face cereri HTTP externe.

Soluția este destul de simplă. Extensiile lipsă care permit aceste cereri HTTP sunt deja instalate cu Wamp Server, dar în mod implicit sunt dezactivate. Pentru a le activa, trebuie să edităm fișierul de configurare php.ini.

Editarea fișierului php.ini

Fișierul php.ini conține o listă cu multe extensii, unele dintre ele fiind dezactivate implicit. Singura pe care a trebuit să o activez a fost extensia openssl.

Pașii pentru activarea acestei extensii sunt următorii:

  1. Porniți Wamp Server.
  2. Dați clic pe pictograma Wamp Server și accesați opțiunea PHP->php.ini.
  3. Dați dublu clic pe php.ini pentru a deschide fișierul în editorul de text implicit.
  4. Căutați php_openssl.dll în fișierul php.ini. ->Veți observa că extensia este comentată: ;extension=php_openssl.dll
  5. Decomentați linia prin eliminarea punctului și virgulei (;).
  6. Salvați modificările.
  7. Reporniți Wamp Server.

Gata! Am rezolvat problema!

19 apr. 2018 08:19:22
Comentarii

Mulțumesc, mi-ai făcut ziua mai bună

marcoqf73 marcoqf73
19 aug. 2020 16:27:22

Pe serverul meu Wamp (PHP 7) extensia se numește doar openssl, nu php_openssl. Prin decomentarea liniei ;extension=openssl conform instrucțiunilor tale, am rezolvat această problemă, mulțumesc!

dading84 dading84
8 dec. 2020 19:09:16

Această soluție a funcționat pentru mine pe XAMPP cu PHP 7.4 pe Windows 10 64-bit.

ManuAlvarado22 ManuAlvarado22
22 ian. 2022 00:04:18
0

Am primit această eroare deoarece PHP (php.ini) nu avea extensia "cURL" activată. Am activat pur și simplu această extensie și am repornit serverul. Problema a fost rezolvată.

Notă: acesta este un răspuns similar cu cel al lui "Ashish Madhavacharya" de mai sus, dar problema a fost rezolvată specific prin activarea extensiei php_curl.dll (și nu extensia openssl, care nu ar trebui să aibă nicio legătură cu această eroare pe care o întâmpinați.)

2 nov. 2020 17:43:59
0

API-ul HTTP WordPress a fost construit într-un mod care să funcționeze pe cât mai multe servere, încercând diferite metode (transporturi) pentru a realiza acest lucru.

Conform mesajului de eroare, nu există transporturi funcționale și astfel WordPress nu poate face nicio solicitare HTTP spre exterior.

Vă recomand să instalați un plugin precum Core Control pentru WordPress, care vă permite să depanați toate transporturile HTTP existente. Este posibil ca, în timp ce un transport nu funcționează, altul să fie în regulă. Acest plugin vă permite să dezactivați cel defect și să testați API-ul HTTP cu noul transport.

Dacă se dovedește că niciunul dintre transporturi nu funcționează, ar trebui să contactați furnizorul de hosting pentru a instala cel puțin cURL pe server, astfel încât să puteți face solicitări HTTP în PHP.

25 ian. 2018 14:30:14
0

Sfaturile referitoare la acest mesaj de eroare sunt destul de variate și nimeni nu pare să ofere un răspuns cuprinzător (Vezi un blog, un răspuns duplicat și aici și aici pe SO). Sperăm că aceasta este o abordare mai formală a problemei.

Consider doar WordPress pe PHP servit prin Apache (nu pot comenta despre NginX în acest moment, deoarece nu l-am încercat cu PHP, nici nu pot comenta despre alte framework-uri). Răspunsul poate prezenta o ușoară înclinare către Windows 10 cu un Apache 2.4.37 construit manual, PHP 7.2 thread safe extras și WordPress 4.2.X.

Context

PHP și cURL explică, destul de frumos, că în fundal WordPress se bazează pe Requests, un wrapper în jurul bibliotecilor cURL și fSockets. Requests preferă biblioteca cURL dacă este disponibilă, dar se va reveni la biblioteca fSockets pentru a descărca Plugin-uri/Teme/etc. Eroarea "No transports" indică faptul că niciuna dintre biblioteci nu este configurată corect în Apache sau PHP. De asemenea, este posibil ca firewall-ul să interfereze cu procesul.

Verificare

Testați configurația atât a Apache cât și a PHP setând și încărcând scriptul standard PHPinfo din browser. Acesta ar trebui să aibă o secțiune separată intitulată cURL ale cărei intrări afișează diverse informații. Altfel, setați și încărcați următorul script pentru a verifica.

<?php
echo 'Curl: ', function_exists('curl_init') ? 'Activat' : 'Dezactivat';
?>

Nu știu cum să testez fScokets.

cURL

Pentru a asigura disponibilitatea cURL, se pare necesar să o activați în php.ini.

  • Asigurați-vă că extension_dir indică corect către folderul extensiilor

    extension_dir="ext"

    (Alternativ, extension_dir="D:CALE/SPRE/php/ext" este adesea sugerat)

  • Asigurați-vă că extensia cURL este activată

    extension=curl

    (extensions=php_curl(.so|.dll) sau extensions="CALE/SPRE/php_curl(.so|.dll)" sunt de asemenea sugerate, posibil pentru PHP<7.2)

  • Din PHP se pare că bibliotecile eay32, ssh2 și ssleay32 trebuie să fie disponibile în calea sistemului (Cu OpenSSL 1.1 eay32 a fost redenumit în crypto-* și ssleay32 a fost redenumit în ssl-*). Pe Windows, soluția neelegantă este copierea acestor biblioteci din folderul rădăcină PHP în folderul system32 sau wow64. Soluția mai bună este modificarea variabilei de mediu PATH pentru a include folderul rădăcină PHP (Personal prefer un PATH curat pe care îl configurez după nevoie, dar acesta este PHP). Pe sisteme *nix, se pare că este suficient să instalați pachetul php5-curl pentru distribuția dvs.

    Notă : Comentariile de pe pagina PHP sugerează că puteți adăuga intrări LoadFile "CALE/SPRE/lib(eay32|ssh2)|ssleay32.dll" în httpd.conf, dar cURL pare să caute aceste biblioteci în PATH; ceea ce face sugestia inutilă. Oamenii de la XAmpp/Wamp scapă de acest pas deoarece par să adauge folderul lor rădăcină în PATH-ul sistemului.

După ce ați terminat, reporniți Apache. Dacă utilizați Apache Monitor, ar trebui să opriți și apoi să porniți Apache; acest lucru configurează un mediu nou pentru serviciu (evitându-vă un restart).

fSockets

Nu știu ce este necesar pentru a face acest lucru să funcționeze.

2 aug. 2018 02:20:25
0

Am avut aceeași problemă și soluțiile de mai sus nu au funcționat. Am găsit o pagină pe forumul WAMP unde cineva a rezolvat-o prin actualizarea la cea mai recentă versiune de Apache. Am încercat și a funcționat și pentru mine.

19 feb. 2021 03:17:01
0

Postez soluția mea aici pentru viitorii utilizatori care caută pe Google:

Am descărcat fișierul zip al pluginului de pe site-urile furnizorilor respectivi, l-am pus în /var/www/html/wp-content/plugins/, l-am dezarhivat și l-am activat din panoul de control WordPress.


Am fost nevoit să fac asta pentru că după ce am activat ;extension=openssl din php.ini și am repornit serverul PHP, acesta nu a putut găsi openssl.so chiar dacă am compilat PHP cu flag-ul --with-openssl.

4 feb. 2022 00:39:02
0

A trebuit să activez toate aceste extensii

  • php_openssl
  • php_sockets
  • php_curl
  • php_fileinfo
  • php_mbstring

Și să repornesc WAMP. Poți face asta în fișierul .ini al versiunii tale de PHP sau din panoul de control WAMP

3 feb. 2025 11:38:50