Error: Falló la instalación: Error en la descarga. No se encontraron transportes en funcionamiento

25 ene 2018, 12:19:28
Vistas: 35.2K
Votos: 15

'Falló la instalación: Error en la descarga. No se encontraron transportes en funcionamiento'.

Este mensaje de error apareció cuando intenté instalar un tema en WordPress. ¿Cómo puedo resolver este problema?

1
Comentarios

¿Tienes el mismo error cuando instalas un plugin?

mmm mmm
25 ene 2018 13:02:01
Todas las respuestas a la pregunta 7
3
23

El sitio de WordPress funcionaba en su mayoría sin problemas, excepto en una sección del panel de administración, donde tenía algunos problemas para actualizar o instalar. Cuando intenté instalar un tema, me dio el error "Instalación fallida: Descarga fallida. No se encontraron transportes funcionales".

Afortunadamente, solucioné el problema con la siguiente solución.

Resulta que este mensaje de error ocurre cuando faltan extensiones en el servidor de desarrollo, por lo que WordPress no puede realizar solicitudes HTTP externas.

La solución es bastante simple. Las extensiones faltantes que permiten esas solicitudes HTTP ya están instaladas con Wamp Server, pero por defecto están deshabilitadas. Para habilitarlas, necesitamos editar el archivo de configuración php.ini.

Editando el archivo php.ini

El archivo php.ini contiene una lista de muchas extensiones, algunas deshabilitadas por defecto. La única que tuve que habilitar fue la extensión openssl.

A continuación, los pasos para habilitar esa extensión:

  1. Inicia Wamp Server.
  2. Haz clic en el ícono de Wamp Server y ve a PHP->php.ini.
  3. Haz doble clic en php.ini para abrirlo en tu editor de texto predeterminado.
  4. Busca php_openssl.dll en el archivo php.ini. ->Verás que la extensión está comentada: ;extension=php_openssl.dll
  5. Descomenta esa línea eliminando el punto y coma (;).
  6. Guarda los cambios.
  7. Reinicia Wamp Server.

¡Eso es todo! ¡Hemos terminado!

19 abr 2018 08:19:22
Comentarios

Gracias, me alegraste el día

marcoqf73 marcoqf73
19 ago 2020 16:27:22

En mi servidor Wamp (PHP 7) la extensión se llama simplemente openssl, no php_openssl. Al descomentar la línea ;extension=openssl según tus instrucciones, resolví este problema para mí, ¡gracias!

dading84 dading84
8 dic 2020 19:09:16

Esta solución funcionó para mí en XAMPP con PHP 7.4 en Windows 10 de 64 bits.

ManuAlvarado22 ManuAlvarado22
22 ene 2022 00:04:18
0

Estaba recibiendo este error porque mi PHP (php.ini) no tenía la extensión "cURL" activada. Simplemente activé esta extensión y reinicié el servidor. Problema resuelto.

Nota: esta es una respuesta similar a la de "Ashish Madhavacharya" mencionada arriba, pero específicamente se resolvió activando la extensión php_curl.dll (y no la extensión openssl, que no debería tener nada que ver con este error que estás recibiendo).

2 nov 2020 17:43:59
0

La API HTTP de WordPress ha sido construida de manera que funcione en la mayor cantidad de servidores posible, probando diferentes métodos (transports) para lograrlo.

Según el mensaje de error, no hay transportes funcionales y por lo tanto WordPress no puede realizar ninguna solicitud HTTP saliente.

Te recomendaría instalar algo como el plugin de WordPress Core Control, que te permite depurar todos los transportes HTTP existentes. Es bastante posible que, mientras un transporte no funcione, otro pueda estar bien. Este plugin te permite desactivar el que no funciona y probar la API HTTP con el nuevo transporte.

Si resulta que efectivamente ninguno de los transportes funciona, deberías contactar a tu proveedor de hosting para que al menos instale algo como cURL en el servidor para que puedas realizar solicitudes HTTP en PHP.

25 ene 2018 14:30:14
0

Los consejos sobre este mensaje de error son bastante variados y nadie parece proporcionar una respuesta exhaustiva (ver algunos blogs, una respuesta duplicada y aquí y aquí en SO). Espero que este sea un enfoque más formal del problema.

Solo considero WordPress en PHP servido a través de Apache (no puedo comentar sobre NginX en este momento ya que no lo he probado con PHP, ni tampoco sobre otros frameworks). La respuesta puede mostrar un leve sesgo hacia Windows 10 con un Apache 2.4.37 compilado manualmente, PHP 7.2 thread safe extraído y WordPress 4.2.X.

Antecedentes

PHP y cURL explica, bastante bien por cierto, que bajo el capó WordPress depende de Requests, un envoltorio alrededor de las bibliotecas cURL y fSockets. Requests prefiere la biblioteca cURL si está disponible, pero supuestamente recurrirá a la biblioteca fSockets para descargar plugins, temas, etc. El error "No transports" indica que ninguna de las bibliotecas está configurada correctamente dentro de Apache o PHP. También es posible que el firewall esté interfiriendo con el proceso.

Verificación

Prueba la configuración tanto de Apache como de PHP configurando y cargando el script estándar PHPinfo desde tu navegador. Este debería tener una sección separada titulada cURL cuyas entradas muestran diversa información. De lo contrario, configura y carga el siguiente script para verificar.

<?php
echo 'Curl: ', function_exists('curl_init') ? 'Habilitado' : 'Deshabilitado';
?>

No sé cómo probar fSockets.

cURL

Para garantizar la disponibilidad de cURL, parece necesario habilitarlo dentro de php.ini.

  • Asegúrate de que extension_dir apunte correctamente a la carpeta de extensiones

    extension_dir="ext"

    (Alternativamente, extension_dir="D:RUTA/A/php/ext" es una sugerencia común)

  • Asegúrate de que la extensión cURL esté habilitada

    extension=curl

    (extensions=php_curl(.so|.dll) o extensions="RUTA/A/php_curl(.so|.dll)" también se sugieren, posiblemente para PHP<7.2)

  • Según PHP, parece que las bibliotecas eay32, ssh2 y ssleay32 también deben estar disponibles en la ruta del sistema (Con OpenSSL 1.1, eay32 se renombró a crypto-* y ssleay32 se renombró a ssl-*). En Windows, el truco feo es copiar estas bibliotecas desde la carpeta raíz de PHP a la carpeta system32 o wow64. La mejor solución es modificar la variable de ruta del sistema para incluir la carpeta raíz de PHP (Personalmente prefiero una ruta limpia que configuro según sea necesario, pero esto es PHP). En sistemas *nix, parece que solo se necesita instalar el paquete php5-curl para la distribución.

    Nota: Los comentarios en la página de PHP sugieren que se pueden agregar entradas LoadFile "RUTA/A/lib(eay32|ssh2)|ssleay32.dll" al archivo httpd.conf, pero cURL parece buscar estas bibliotecas en la ruta del sistema; lo que hace que la sugerencia sea discutible. Los usuarios de XAMPP/WAMP se salvan de este paso porque parecen incluir su propia ruta raíz en la ruta del sistema.

Una vez hecho esto, reinicia Apache. Si estás usando Apache Monitor, deberías detener y luego iniciar Apache; esto configura un nuevo entorno para que se ejecute el servicio (ahorrándote un reinicio del sistema).

fSockets

No sé qué es necesario para que esto funcione.

2 ago 2018 02:20:25
0

Tenía el mismo problema y las soluciones anteriores no funcionaron. Encontré una página en el foro de WAMP donde alguien lo resolvió actualizando a la última versión de Apache. Lo probé y funcionó para mí.

19 feb 2021 03:17:01
0

Publico mi solución aquí para futuros buscadores de Google:

Descargué el archivo zip del plugin desde los sitios de los respectivos proveedores, lo coloqué en /var/www/html/wp-content/plugins/, lo descomprimí y lo activé desde el panel de control de WordPress.


Me vi obligado a hacer lo anterior porque una vez que habilité ;extension=openssl desde php.ini y reinicié el servidor php, no pudo localizar el openssl.so aunque compilé php con la bandera --with-openssl.

4 feb 2022 00:39:02
0

Tuve que habilitar todas estas extensiones

  • php_openssl
  • php_sockets
  • php_curl
  • php_fileinfo
  • php_mbstring

Y reiniciar WAMP. Puedes hacerlo dentro del archivo .ini de tu versión de PHP o desde el panel de control de WAMP

3 feb 2025 11:38:50