Installazione fallita: Download fallito. Nessun sistema di trasporto trovato

25 gen 2018, 12:19:28
Visualizzazioni: 35.2K
Voti: 15

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

Questo errore si è verificato quando ho cercato di installare un tema in WordPress. Come posso risolvere questo problema?

1
Commenti

hai lo stesso errore quando installi un plugin?

mmm mmm
25 gen 2018 13:02:01
Tutte le risposte alla domanda 7
3
23

Il sito WordPress funzionava per lo più senza problemi tranne che in una sezione della dashboard, dove presentava alcuni problemi con gli aggiornamenti o le installazioni. Quando ho provato a installare un tema, mi ha dato l'errore "Installazione fallita: Download fallito. Nessun trasporto funzionante trovato".

Fortunatamente, ho risolto il problema con la seguente soluzione.

Si è scoperto che questo messaggio di errore si verifica quando mancano delle estensioni sul server di sviluppo, quindi WordPress non è in grado di effettuare richieste HTTP esterne.

La soluzione è abbastanza semplice. Le estensioni mancanti che consentono queste richieste HTTP sono già installate con Wamp Server, ma per impostazione predefinita sono disabilitate. Per abilitarle, dobbiamo modificare il file di configurazione php.ini.

Modifica del file php.ini

Il file php.ini contiene un elenco di molte estensioni, alcune delle quali disabilitate di default. L'unica che ho dovuto abilitare era l'estensione openssl.

Ecco i passaggi per abilitare questa estensione:

  1. Avvia Wamp Server.
  2. Clicca sull'icona di Wamp Server e vai su PHP->php.ini.
  3. Fai doppio clic su php.ini per aprirlo nell'editor di testo predefinito.
  4. Cerca php_openssl.dll nel file php.ini. ->Vedrai che l'estensione è commentata: ;extension=php_openssl.dll
  5. Rimuovi il punto e virgola (;) per decommentare la riga.
  6. Salva le modifiche.
  7. Riavvia Wamp Server.

Ecco fatto, abbiamo finito!!!

19 apr 2018 08:19:22
Commenti

Grazie, mi hai migliorato la giornata

marcoqf73 marcoqf73
19 ago 2020 16:27:22

Sul mio server Wamp (PHP 7) l'estensione si chiama semplicemente openssl e non php_openssl. Rimuovendo il commento dalla riga ;extension=openssl come da tue istruzioni, ho risolto questo problema, grazie!

dading84 dading84
8 dic 2020 19:09:16

Questa soluzione ha funzionato per me su XAMPP con PHP 7.4 su Windows 10 a 64-bit.

ManuAlvarado22 ManuAlvarado22
22 gen 2022 00:04:18
0

Stavo ricevendo questo errore perché il mio PHP (php.ini) non aveva l'estensione "cURL" attivata. Ho semplicemente attivato questa estensione e riavviato il server. Problema risolto.

Nota: questa è una risposta simile a quella di "Ashish Madhavacharya" sopra, ma specificamente risolta attivando l'estensione php_curl.dll (e non l'estensione openssl, che non dovrebbe avere nulla a che fare con questo errore che stai ricevendo.)

2 nov 2020 17:43:59
0

L'API HTTP di WordPress è stata costruita in modo da funzionare sul maggior numero possibile di server, provando diversi metodi (transport) per farlo.

Secondo il messaggio di errore, non ci sono transport funzionanti e quindi WordPress non è in grado di effettuare richieste HTTP in uscita.

Ti consiglio di installare qualcosa come il plugin WordPress Core Control, che ti permette di debuggare tutti i transport HTTP esistenti. È abbastanza probabile che mentre un transport non funziona, un altro possa essere OK. Questo plugin ti permette di disabilitare quello rotto e testare l'API HTTP con il nuovo transport.

Se risulta che infatti nessuno dei transport funziona, dovresti contattare il tuo provider di hosting per installare almeno qualcosa come cURL sul server così da poter effettuare richieste HTTP in PHP.

25 gen 2018 14:30:14
0

I consigli su questo messaggio di errore sono piuttosto vari e nessuno sembra fornire una risposta completa (Vedi qualche blog, una risposta duplicata e qui e qui su SO). Spero che questo sia un approccio più formale al problema.

Considero solo WordPress su PHP servito via Apache (non posso commentare su NginX al momento dato che non l'ho provato con PHP, né posso commentare su altri framework). La risposta potrebbe mostrare una leggera inclinazione verso Windows 10 con un Apache 2.4.37 auto-costruito, PHP 7.2 thread safe estratto e WordPress 4.2.X.

Contesto

PHP e cURL spiega, piuttosto bene si potrebbe aggiungere, che sotto il cofano WordPress si affida a Requests, un wrapper attorno alle librerie cURL e fSockets. Requests preferisce la libreria cURL se disponibile ma presumibilmente ripiegherà sulla libreria fSockets per scaricare Plugin/Temi/ecc. L'errore "No transports" indica che nessuna delle due librerie è configurata correttamente all'interno di Apache o PHP. È anche possibile che il proprio firewall interferisca con il processo.

Verifica

Testa la configurazione sia di Apache che di PHP impostando e caricando lo script standard PHPinfo dal tuo browser. Questo dovrebbe avere una sezione separata intitolata cURL le cui voci mostrano varie informazioni. Altrimenti imposta e carica il seguente script per verificare.

<?php
echo 'Curl: ', function_exists('curl_init') ? 'Abilitato' : 'Disabilitato';
?>

Non so come testare fSockets.

cURL

Per garantire la disponibilità di cURL sembra necessario abilitarlo all'interno di php.ini.

  • Assicurati che extension_dir punti correttamente alla cartella delle estensioni

    extension_dir="ext"

    (In alternativa extension_dir="D:PATH/TO/php/ext" è spesso suggerito)

  • Assicurati che l'estensione cURL sia abilitata

    extension=curl

    (extensions=php_curl(.so|.dll) o extensions="PATH/TO/php_curl(.so|.dll)" sono anche suggeriti, possibilmente per PHP<7.2)

  • Da PHP sembra che le librerie eay32, ssh2 e ssleay32 debbano essere disponibili anche nel percorso (Con OpenSSL 1.1 eay32 è stato rinominato crypto-* e ssleay32 è stato rinominato ssl-*). Su Windows l'hack brutto è copiare queste librerie dalla cartella radice di PHP nella cartella system32 o wow64. La soluzione migliore è modificare la variabile di percorso per includere la cartella radice di PHP (Personalmente preferisco un percorso pulito che configuro come richiesto, ma questo è PHP). Su sistemi *nix sembra che sia sufficiente installare il pacchetto php5-curl per la propria distribuzione.

    Nota : I commenti sulla pagina PHP suggeriscono che si possono semplicemente aggiungere voci LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll" al proprio httpd.conf ma cURL sembra cercare queste librerie nel percorso; rendendo inutile il suggerimento. Le persone di XAmpp/Wamp se la cavano con questo passaggio perché sembrano scaricare la propria radice sul percorso di sistema.

Una volta fatto, riavvia Apache. Se stai usando Apache monitor dovresti effettivamente fermare e poi avviare Apache; questo imposta un nuovo ambiente per il servizio in cui eseguire (risparmiandoti un riavvio).

fSockets

Non so cosa sia necessario per far funzionare questo.

2 ago 2018 02:20:25
0

Ho avuto lo stesso problema e le soluzioni sopra indicate non hanno funzionato. Ho trovato una pagina sul forum WAMP dove qualcuno ha risolto aggiornando all'ultima versione di Apache. L'ho provato e ha funzionato anche per me.

19 feb 2021 03:17:01
0

Pubblico qui il mio hack per i futuri utenti di Google:

Ho scaricato il file zip del plugin dai rispettivi siti dei fornitori, l'ho inserito in /var/www/html/wp-content/plugins/, l'ho decompresso e attivato dal pannello di controllo di WordPress.


Sono stato costretto a fare quanto sopra perché, una volta abilitato ;extension=openssl dal file php.ini e riavviato il server php, non riusciva a trovare il file openssl.so nonostante avessi compilato php con il flag --with-openssl.

4 feb 2022 00:39:02
0

Ho dovuto abilitare tutte queste estensioni

  • php_openssl
  • php_sockets
  • php_curl
  • php_fileinfo
  • php_mbstring

E riavviare WAMP. Puoi farlo nel file .ini della tua versione di PHP o dal pannello di controllo di WAMP

3 feb 2025 11:38:50