Falta una carpeta temporal a pesar de la configuración en wp-config.php

12 oct 2014, 22:53:15
Vistas: 45.5K
Votos: 4

Al intentar subir medios a mi WordPress 4.0 ejecutándose en un hosting compartido con Apache 2.2.14 y PHP 5.3.2, recibo el mensaje de error "Falta una carpeta temporal". No tengo influencia sobre el php.ini que está gestionado globalmente por el host y fuera de mi carpeta html.

Configuré el WP_TEMP_DIR en wp-config.php. Aquí está la parte relevante de este archivo:

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp/');

También probé otras variaciones, como:

define('WP_TEMP_DIR', '/www/wp-content/temp/'); // ruta absoluta

y:

define('WP_TEMP_DIR', 'wp-content/temp/');

Ten en cuenta que tanto las carpetas wp-content como wp-content/temp tienen los permisos 777.

Aún así, no funciona. Ten en cuenta que cada vez que hago un cambio, cierro sesión del admin y vuelvo a iniciarla. No tengo control sobre el servidor en sí, así que no tengo idea si y cuándo mis configuraciones en esta carpeta se aplican.

Entonces mis preguntas son:

  1. ¿Los cambios en wp-config.php deberían tener un efecto inmediato?
  2. ¿Cómo puedo obtener más retroalimentación dentro de WordPress más allá del mensaje de error en la página de administración? ¿Cómo puedo depurar este error?
  3. ¿Tienes alguna otra idea de qué causa este problema y cómo resolverlo dentro de mi entorno de hosting compartido (sin consola, solo FTP y administración de WP)?
2
Comentarios

¿Tienes depuración habilitada? Si es así, ¿qué es lo que ves?

s_ha_dum s_ha_dum
13 oct 2014 02:32:27

Resolví mi problema con este artículo. Prueba esto en caso de que estés enfrentando el mismo problema.

Sam Sam
13 dic 2014 17:50:26
Todas las respuestas a la pregunta 3
1
10

intenta usar

get_temp_dir() 

para ver si WordPress está usando tu constante WP_TEMP_DIR.

he probado este código en wp-config.php y funciona

define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');

pero tienes que colocarlo antes de

/* That's all, stop editing! Happy blogging. */

en tu archivo wp-config.php.

13 oct 2014 05:03:05
Comentarios

Funciona a la perfección en el servidor grid de MediaTemple

Brian Fegter Brian Fegter
15 abr 2016 19:13:39
1

Ese mensaje significa que el motor de PHP intentó y falló en encontrar un directorio para almacenar temporalmente el archivo subido hasta que sea procesado por los scripts de PHP. Como esto ocurre antes de que se ejecute cualquier script, es muy poco probable que puedas solucionarlo escribiendo código PHP.

Podrías intentar cambiar la configuración upload_tmp_dir de PHP en tu archivo .htaccess, pero lo recomendable es que contactes al soporte técnico, ya que esto es un problema de configuración del servidor, incluso si pudieras encontrar una solución alternativa.

13 oct 2014 06:09:10
Comentarios

Una respuesta muy útil, con información que no pude encontrar en Google. Sin embargo, mi solución fue bastante simple, así que tuve que elegir mi propia respuesta.

mcbetz mcbetz
13 oct 2014 12:41:32
0

Los ajustes en sí están bien. Pero los permisos podrían ser el problema. Cambia los permisos recursivamente para wp-content a 777. Esto puede generar preocupaciones de seguridad y debes asegurarte de quién puede acceder y escribir archivos en este directorio.

También podrías necesitar cambiar los permisos de las carpetas wp-admin y wp-includes a 777. Ten en cuenta que esto no es recomendado.

En mi caso, después de establecer los permisos en las tres carpetas, las subidas funcionaron nuevamente.

13 oct 2014 12:45:06