¿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:
Inicie el servidor Wamp.
haga clic en el icono del servidor Wamp y vaya a la opción PHP-> php.ini.
Haga doble clic en php.ini. entonces, abrirá el archivo php.ini en su editor de texto predeterminado.
busque php_openssl.dll en el archivo php.ini. -> Verá que la extensión está comentada:; extension = php_openssl.dll
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.
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.
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).
Respuestas:
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:
Eso es todo, hemos terminado!
fuente
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.
fuente
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 bibliotecascURL
yfSockets
.Requests
prefiere lacURL
biblioteca si está disponible, pero supuestamente recurrirá a lafSockets
biblioteca 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
cURL
cuyas entradas muestran información diversa. De lo contrario, configure y cargue el siguiente script para verificar.No se como hacer la prueba
fScokets
.rizo
Para garantizar la disponibilidad de
cURL
parece ser necesario habilitarlo dentrophp.ini
.Asegúrese de que
extentions_dir
apunta correctamente a la carpeta de extensionesextentions_dir="ext"
(Alternativamente, a
extentions_dir="D:PATH/TO/php/ext"
menudo se sugiere)Asegúrese de que la
cURL
extensión esté habilitadaextension=curl
(
extentions=php_curl(.so|.dll)
oextentions="PATH/TO/php_curl(.so|.dll)"
también se sugieren, posiblemente para PHP <7.2)Desde PHP parece que las bibliotecas
eay32
,ssh2
yssleay32
también deben estar disponibles en la ruta de acceso (con OpenSSL 1.1eay32
se cambió el nombrecrypto-*
yssleay32
se cambió el nombressl-*
). En Windows, el truco feo es copiar estas bibliotecas de la carpeta raíz de PHP en la carpetasystem32
owow64
. 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 elphp5-curl
paquete 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.conf
perocURL
parece 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.
fuente