Falta una carpeta temporal a pesar de la configuración en wp-config.php
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:
- ¿Los cambios en
wp-config.php
deberían tener un efecto inmediato? - ¿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?
- ¿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)?
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.

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.

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.
