Cartella temporanea mancante nonostante le impostazioni in wp-config.php
Quando provo a caricare contenuti multimediali sul mio WordPress 4.0 in esecuzione su un host condiviso Apache 2.2.14, PHP 5.3.2, ricevo il messaggio di errore "Missing a temporary folder". Non ho alcun controllo sul php.ini
che è gestito globalmente dall'host ed è fuori dalla mia cartella html
.
Ho impostato WP_TEMP_DIR
in wp-config.php
. Ecco la parte rilevante di questo file:
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp/');
Ho anche provato altre varianti, come:
define('WP_TEMP_DIR', '/www/wp-content/temp/'); // percorso assoluto
e:
define('WP_TEMP_DIR', 'wp-content/temp/');
Nota che sia la cartella wp-content
che wp-content/temp
hanno i permessi 777
.
Tuttavia, non funziona ancora. Nota che ogni volta che faccio una modifica, effettuo il logout dall'admin e rientro. Non ho alcun controllo sul server stesso, quindi non ho idea se e quando le mie impostazioni in questa cartella vengano applicate.
Quindi le mie domande sono:
- Le modifiche in
wp-config.php
dovrebbero avere un effetto immediato? - Come posso ottenere più feedback all'interno di WordPress oltre al messaggio di errore nella pagina di amministrazione? Come posso eseguire il debug di questo errore?
- Avete altre idee su cosa causa questo problema e come risolverlo nel mio ambiente di hosting condiviso (niente console, solo FTP e amministrazione WP)?

prova a usare
get_temp_dir()
per verificare se WordPress sta utilizzando la tua costante WP_TEMP_DIR.
ho provato questo codice in wp-config.php e funziona
define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');
ma devi inserirlo prima del
/* È tutto, interrompi la modifica! Buon blogging. */
nel tuo file wp-config.php.

Questo messaggio significa che il motore PHP ha tentato e non è riuscito a trovare una directory in cui memorizzare temporaneamente il file caricato fino a quando non viene elaborato dagli script PHP. Poiché ciò accade prima dell'esecuzione di qualsiasi script, è molto improbabile che tu possa risolvere il problema scrivendo del codice PHP.
Potresti provare a modificare l'impostazione upload_tmp_dir
di PHP nel tuo file .htaccess
, ma dovresti semplicemente contattare l'assistenza poiché si tratta di un problema di configurazione del server, anche se potresti riuscire a trovare una soluzione alternativa.

Le impostazioni in sé sono tutte corrette. Il problema potrebbe essere legato ai permessi. Modifica i permessi in modo ricorsivo per wp-content
impostandoli a 777
. Questo potrebbe sollevare preoccupazioni legate alla sicurezza e dovrai prestare attenzione a chi può accedere e scrivere file in questa directory.
Potresti anche dover modificare i permessi per le cartelle wp-admin
e wp-includes
impostandoli a 777
. Tieni presente che questa operazione non è raccomandata.
Nel mio caso, dopo aver impostato i permessi per tutte e tre le cartelle, i caricamenti hanno ripreso a funzionare.
