Instalación fallida: descarga fallida. No se encontraron transportes de trabajo

10

'Instalación fallida: descarga fallida. No se encontraron transportes de trabajo '.

Este error apareció cuando intenté instalar un tema en WordPress. ¿Cómo resuelvo este problema?

mss
fuente
¿tiene el mismo error cuando instala un complemento?
mmm

Respuestas:

13

El sitio de WordPress funcionaba principalmente sin problemas, excepto en una sección del panel del sitio, donde tenía algunos problemas con la actualización o la instalación. Cuando intenté instalar el tema, me dio el error " Error de instalación: error de descarga. No se encontraron transportes que funcionen".

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

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

La solución es bastante simple. Las extensiones que faltan que hacen posibles esas solicitudes HTTP ya están instaladas con Wamp Server. De manera predeterminada, simplemente están deshabilitadas. Para habilitarlos, necesitamos editar el archivo de configuración php.ini.

Edición del archivo php.ini

El archivo php.ini contiene una lista de muchas extensiones con algunas de ellas deshabilitadas de forma predeterminada. La única que tuve que habilitar fue la extensión openssl.

Estos son los pasos para habilitar esa extensión:

  1. Inicie el servidor Wamp.
  2. haga clic en el icono del servidor Wamp y vaya a la opción PHP-> php.ini.
  3. Haga doble clic en php.ini. entonces, abrirá el archivo php.ini en su editor de texto predeterminado.
  4. busque php_openssl.dll en el archivo php.ini. -> Verá que la extensión está comentada:; extension = php_openssl.dll
  5. Descomente esa línea eliminando punto y coma (;)
  6. guardar los cambios
  7. Reinicie el servidor Wamp.

Eso es todo, hemos terminado!

Ashish Madhavacharya
fuente
3

La API HTTP de WordPress ha sido construida de tal manera que funciona en muchos servidores como sea posible, probando diferentes formas (transportes) para hacerlo.

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

Le recomiendo que instale algo como el complemento Core Control de WordPress, que le permite depurar todos los transportes HTTP existentes. Es muy posible que mientras un transporte no funciona, otro esté bien. Este complemento le permite deshabilitar el roto y probar la API HTTP con el nuevo transporte.

Si resulta que ninguno de los transportes está funcionando, debe comunicarse con su proveedor de alojamiento para al menos instalar algo como cURL en el servidor para que pueda realizar solicitudes HTTP en PHP.

swissspidy
fuente
0

El consejo sobre este mensaje de error es bastante variado y nadie parece proporcionar una respuesta integral (vea algún blog , una respuesta duplicada y aquí y aquí en SO). Esperemos que esta sea una versión más formal del problema.

Considero solo 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 puedo comentar sobre otros marcos). La respuesta puede exhibir un sesgo leve hacia Windows 10 con un Apache 2.4.37 autoconstruido, PHP 7.2 y WordPress 4.2.X.

Antecedentes

PHP y cURL explican, bastante bien uno podría agregar, que debajo de la campana se basa WordPress Requests, un contenedor alrededor de las bibliotecas cURLy fSockets. Requestsprefiere la cURLbiblioteca si está disponible, pero supuestamente recurrirá a la fSocketsbiblioteca para descargar Plugins / Temas / etc. El error "Sin transporte" es indicativo de que ninguna de las bibliotecas está configurada correctamente en Apache o PHP. También es posible que el firewall también interfiera con el proceso.

Cheque

Pruebe la configuración de Apache y PHP configurando y cargando el script PHPinfo estándar desde su navegador. Esto debería tener una sección separada titulada cURLcuyas entradas muestran información diversa. De lo contrario, configure y cargue el siguiente script para verificar.

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

No se como hacer la prueba fScokets.

rizo

Para garantizar la disponibilidad de cURLparece ser necesario habilitarlo dentro php.ini.

  • Asegúrese de que extentions_dirapunta correctamente a la carpeta de extensiones

    extentions_dir="ext"

    (Alternativamente, a extentions_dir="D:PATH/TO/php/ext"menudo se sugiere)

  • Asegúrese de que la cURLextensión esté habilitada

    extension=curl

    ( extentions=php_curl(.so|.dll)o extentions="PATH/TO/php_curl(.so|.dll)"también se sugieren, posiblemente para PHP <7.2)

  • Desde PHP parece que las bibliotecas eay32, ssh2y ssleay32también deben estar disponibles en la ruta de acceso (con OpenSSL 1.1 eay32se cambió el nombre crypto-*y ssleay32se cambió el nombre ssl-*). En Windows, el truco feo es copiar estas bibliotecas de la carpeta raíz de PHP en la carpeta system32o wow64. La mejor solución es modificar las variables de ruta para incluir la carpeta raíz de PHP (Personalmente, prefiero una ruta limpia que configuro según sea necesario, pero esto es PHP). En las cajas * nix parece que uno simplemente necesita instalar el php5-curlpaquete para las distribuciones.

    Nota: Los comentarios en la página PHP sugieren que uno simplemente puede agregar LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"entradas a las mismas , httpd.confpero cURLparece buscar estas bibliotecas en la ruta de acceso de uno; discutiendo la sugerencia. La gente de XAmpp / Wamp se sale con la suya ya que parecen volcar su propia raíz en la ruta del sistema.

Una vez hecho esto, reinicie Apache. Si está utilizando el monitor Apache, debería detenerse y luego iniciar Apache; Esto configura un nuevo entorno para que el servicio se ejecute (ahorrándole un reinicio).

f Enchufes

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

Carel
fuente