Cartella temporanea mancante nonostante le impostazioni in wp-config.php

12 ott 2014, 22:53:15
Visualizzazioni: 45.5K
Voti: 4

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:

  1. Le modifiche in wp-config.php dovrebbero avere un effetto immediato?
  2. 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?
  3. Avete altre idee su cosa causa questo problema e come risolverlo nel mio ambiente di hosting condiviso (niente console, solo FTP e amministrazione WP)?
2
Commenti

Hai il debug abilitato? Se sì, cosa vedi?

s_ha_dum s_ha_dum
13 ott 2014 02:32:27

Ho risolto il mio problema con questo articolo. Prova questo nel caso tu stia affrontando lo stesso problema.

Sam Sam
13 dic 2014 17:50:26
Tutte le risposte alla domanda 3
1
10

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.

13 ott 2014 05:03:05
Commenti

Funziona perfettamente sul server grid di MediaTemple

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

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.

13 ott 2014 06:09:10
Commenti

Una risposta molto utile, con approfondimenti che non avrei potuto ottenere tramite Google. Tuttavia, la mia soluzione era piuttosto semplice, quindi ho dovuto scegliere la mia risposta.

mcbetz mcbetz
13 ott 2014 12:41:32
0

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.

13 ott 2014 12:45:06