¿Por qué WordPress en localhost no encuentra actualizaciones?

24 jul 2013, 23:07:52
Vistas: 16.1K
Votos: 1

Tengo WordPress funcionando en WAMP. Por alguna razón, cuando verifico actualizaciones del núcleo y de mis plugins, me indica que todo está actualizado, aunque sé que tengo una versión atrasada del núcleo y de tres plugins. ¿Por qué no se detectan estas actualizaciones?

Verifiqué los permisos de archivos y están correctos. Intenté desactivar todos los plugins. Sin diferencia. Además, intenté reinstalar mi versión actual del núcleo de WordPress y obtuve el siguiente resultado:

Descargando actualización desde http://wordpress.org/wordpress-3.5.1-no-content.zip…
Descarga fallida.
Instalación fallida

No obtengo más información. ¿Alguna idea de qué está pasando? Una versión casi idéntica en el servidor en vivo muestra las actualizaciones sin problemas.

Actualización: No he obtenido ninguna respuesta que resuelva este problema. Información útil sería saber a qué dominios o subdominios necesita conectarse WordPress para verificar y descargar actualizaciones. Así podría depurar la conexión a esos dominios.

Actualización: Sigo sin obtener soluciones. Sospecho que tiene que ver con que Apache no puede conectarse a servidores externos, pero no tengo idea de cómo resolverlo.

10
Comentarios

Verifica los permisos en wp-content. Casi garantizo que es un problema de permisos/propietario de archivos/carpetas.

s_ha_dum s_ha_dum
24 jul 2013 23:43:49

Como dije, ya revisé los permisos de los archivos y están todos correctos.

Josiah Sprague Josiah Sprague
25 jul 2013 19:08:31

¿Verificaste el propietario/grupo? Ese es un componente que frecuentemente se olvida cuando hay problemas de permisos de archivos. Ver: http://wordpress.stackexchange.com/a/96454/21376

s_ha_dum s_ha_dum
25 jul 2013 19:12:15

Estoy en Windows, así que no estoy muy seguro de cómo seguir esas instrucciones. ¿Alguien puede darme consejos sobre cómo verificar los permisos de archivos en Windows?

Josiah Sprague Josiah Sprague
13 ago 2013 16:38:14

Me parece más un problema de firewall o similar. Si tienes algún software de firewall instalado, verifica que WAMP tenga permiso para acceder a la red.

Matthew Boynes Matthew Boynes
13 ago 2013 17:14:45

Deshabilité temporalmente todos mis firewalls y aún no funciona. ¿Hay alguna configuración de Windows relacionada con problemas de firewall que pueda revisar? Hace unos meses ejecuté un programa de eliminación de spyware que endureció la seguridad en mi computadora y puede haber causado este problema inadvertidamente.

Josiah Sprague Josiah Sprague
13 ago 2013 17:40:26

Configura una instalación nueva de WordPress en tu WAMP con la versión que estás usando. Usa solo configuraciones, temas predeterminados y sin plugins. Intenta actualizarlo.

BoBoz BoBoz
13 ago 2013 17:40:31

Exactamente el mismo problema con una instalación nueva. Debe ser un problema de configuración del sistema, pero no sé cuál.

Josiah Sprague Josiah Sprague
13 ago 2013 21:45:08

¿Has considerado usar svn/git, composer u otro sistema de control de versiones gestionado para rastrear qué versión de WordPress estás ejecutando y actualizar, en lugar de usar el actualizador incorporado?

Tom J Nowell Tom J Nowell
13 ago 2013 23:20:49

Estoy usando git, que en realidad es parte de la razón por la que necesito que las actualizaciones automáticas funcionen... la mayoría de los plugins que estoy usando no tienen un repositorio git.

Josiah Sprague Josiah Sprague
14 ago 2013 15:57:38
Mostrar los 5 comentarios restantes
Todas las respuestas a la pregunta 7
5

Yo mismo uso XAMPP, pero WAMP no es muy diferente.

Apuesto a que no has habilitado el módulo curl. WordPress puede usar otros métodos (streams y fsockopen) como alternativa, pero estos también pueden estar deshabilitados por defecto en una instalación estándar. Curl es preferido y fácil de habilitar.

  1. Cierra WAMP
  2. Ve al directorio \bin\php\versión en WAMP
  3. Edita el php.ini, y descomenta la línea que dice extension=php_curl.dll
  4. Haz lo mismo en \bin\Apache\versión\bin\
  5. Guarda y reinicia WAMP.

Edición: WAMP también puede tener una forma más fácil de hacer esto a través de la interfaz gráfica. Busca "PHP extensions" y "php_curl" y asegúrate de que está habilitado.

13 ago 2013 23:24:32
Comentarios

Interesante. Sospecharía que este no es el problema, porque las actualizaciones solían funcionar y luego simplemente dejaron de hacerlo de repente. Pero por curiosidad, lo revisé. El php.ini en mi directorio de Apache ya tenía curl habilitado, pero el del directorio de PHP no, así que lo habilité, pero obtengo un error al iniciar WAMP; "No se puede cargar la biblioteca dinámica... php_curl.dll ...la configuración lado a lado es incorrecta..."

Josiah Sprague Josiah Sprague
14 ago 2013 15:55:23

@JosiahSprague Supongo que te falta el archivo .dll entonces. Asegúrate de que esté en el directorio de extensiones de PHP (diferente para Windows y Unix, creo).

Dzhuneyt Dzhuneyt
15 ago 2013 13:04:39

El .dll está ahí. También verifiqué los permisos del archivo en el .dll, y están bien.

Josiah Sprague Josiah Sprague
15 ago 2013 16:20:43

Dado ese tipo de problema, eliminaría WAMP e instalaría XAMPP en su lugar. XAMPP funciona de maravilla.

Otto Otto
15 ago 2013 17:02:15

Podría intentarlo, pero dado que he estado usando WAMP durante tres años sin problemas, y que ni siquiera estoy seguro de que este asunto de Wordpress tenga algo que ver con WAMP, me gustaría explorar otras soluciones primero.

Josiah Sprague Josiah Sprague
19 ago 2013 16:05:31
1
  1. Primero abre /wp-config.php

Lo primero que debes hacer es abrir el archivo wp-config.php desde la carpeta raíz de WordPress, el archivo se encuentra en wordpress/wp-config.php

  1. Inserta FS_METHOD

Pega el siguiente código en tu archivo wp-config.php, preferiblemente justo debajo de cualquier otra línea de código.

define('FS_METHOD','direct');

Y guárdalo, definitivamente funcionará. A mí me funcionó con éxito.

25 oct 2016 11:35:48
Comentarios

¿Qué hace exactamente esto?

Hashim Aziz Hashim Aziz
26 may 2019 02:32:11
2

"Descarga fallida." proviene del fallo en la función download_url()

¿Puedes intentar ejecutar esto dentro de uno de tus archivos?

$url = "http://wordpress.org/wordpress-3.5.1-no-content.zip";
require_once(ABSPATH . "wp-admin/includes/file.php");
$file = download_url($url);
echo "<pre>";
var_dump($file);
echo "</pre>";

Eso debería darte uno de los siguientes mensajes de error:

WP_Error('http_no_url', __('URL proporcionada no válida.'));
WP_Error('http_no_file', __('No se pudo crear el archivo temporal.'));
WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
WP_Error('http_request_failed', __('No se proporcionó una URL válida.'));
WP_Error( 'http_request_failed', __( 'El usuario ha bloqueado solicitudes a través de HTTP.' ) );
WP_Error( 'http_request_failed', __( 'El directorio de destino para la transmisión de archivos no existe o no tiene permisos de escritura.' ) );
13 ago 2013 20:09:44
Comentarios

Creo que estás en el camino correcto, pero probé esto y obtuve: Fatal error: Call to undefined function download_url() in C:\wamp\www\doulos\wp-content\themes\doulos\front-page.php on line 9

Josiah Sprague Josiah Sprague
13 ago 2013 21:22:04

Lo siento, la función solo se incluye automáticamente en wp-admin, añade la línea require_once(ABSPATH . "wp-admin/includes/file.php"); para incluirla.

Puggan Se Puggan Se
13 ago 2013 23:08:43
2

He notado que ocurren cosas raras al ejecutar WAMP sin derechos de administrador. Si nada de lo anterior funciona, intenta iniciar WAMP Server como administrador y comprueba si eso ayuda (incluso si tu cuenta de usuario tiene derechos de administrador). Si no se ejecuta como administrador, eso podría impedir que WordPress detecte que hay una actualización disponible.

Para ejecutar WAMP como Administrador, haz clic en el menú de inicio, escribe wamp, haz clic derecho en "Start wampServer" y luego selecciona "Ejecutar como administrador".

Captura de pantalla de cómo ejecutar WAMP como administrador

13 ago 2013 23:48:36
Comentarios

¡Buena idea! Desafortunadamente, lo intenté y no funcionó.

Josiah Sprague Josiah Sprague
14 ago 2013 15:47:50

Eso es una pena. ¿Has probado XAMPP? Finalmente dejé de usar WAMP después de todos mis problemas. Tal vez cambiar a un programa diferente te ayude a que tu instalación de WP funcione. Sé que no resuelve el problema en WAMP, pero podría ayudarte a eliminar tus frustraciones.

Ian Ian
14 ago 2013 18:04:45
1

Podrías modificar el archivo wp-config.php.

Y agregar el siguiente código:

define('FS_METHOD', 'direct');

En mi caso, se resolvió.

1 abr 2016 13:12:07
Comentarios

¿Qué hace esto?

Hashim Aziz Hashim Aziz
26 may 2019 02:32:44
0

Tengo problemas similares y primero que nada diría que uses XAMPP, es increíble para cualquier desarrollo PHP en Windows, ya que WAMP me falló muchas veces antes y XAMPP siempre ha funcionado & incluso tiene una versión portable (la he estado usando durante los últimos 4-5 años).

Ahora, para tu problema, ya has probado otras sugerencias, así que no mencionaré esas (como permisos, privilegios de administrador, etc.), pero creo que podría ser un problema de conexión lenta a Internet, ya que así me ha pasado a mí.

Intenta verificar si se está descargando algo usando alguna herramienta de monitoreo de red (el Administrador de tareas > pestaña Red puede darte una idea aproximada si no hay otra aplicación de Internet ejecutándose), y si ves transferencia de datos durante un tiempo suficiente para descargar 4-5 MB, entonces está bien; de lo contrario, el problema está en WAMP o en los permisos del sistema de archivos, etc.

También tuve la sospecha de que tu archivo de hosts podría haber sido modificado por alguien, así que verifica si wordpress.org no está en tu archivo de hosts & no está apuntando a 127.0.0.1 o a algo diferente de los servidores reales de wordpress.org.

¡Espero que esto te ayude!

17 ago 2013 17:49:28
1

Recuerdo que me encontré con una situación similar hace un tiempo. Lo que resolvió el problema en ese caso fue especificar un directorio temporal en mi archivo wp-config. Prueba si esto te funciona. Solo agrega la siguiente línea a tu archivo wp-config.php:

define('WP_TEMP_DIR','/ruta-a-tu-carpeta-recien-creada');

19 ago 2013 22:33:01
Comentarios

Gracias por la sugerencia. Lo intenté y no funcionó.

Josiah Sprague Josiah Sprague
22 ago 2013 20:12:57