Lipsa unui folder temporar în ciuda setărilor din wp-config.php

12 oct. 2014, 22:53:15
Vizualizări: 45.5K
Voturi: 4

Când încerc să încarc fișiere media în WordPress 4.0 rulând pe un hosting shared cu Apache 2.2.14 și PHP 5.3.2, primesc mesajul de eroare "Missing a temporary folder". Nu am control asupra fișierului php.ini care este gestionat global de către host și se află în afara folderului meu html.

Am setat WP_TEMP_DIR în wp-config.php. Iată partea relevantă din acest fișier:

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

Am încercat și alte variante, cum ar fi:

define('WP_TEMP_DIR', '/www/wp-content/temp/'); // cale absolută

și:

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

Rețineți că atât folderele wp-content cât și wp-content/temp au permisiunile setate la 777.

Totuși, nu funcționează. De notat că de fiecare dată când fac o modificare, mă deloghez din admin și mă loghez înapoi. Nu am control asupra serverului în sine, așa că nu am idee dacă și când setările mele în acest folder se aplică.

Așadar întrebările mele sunt:

  1. Ar trebui ca modificările din wp-config.php să aibă efect imediat?
  2. Cum pot obține mai mult feedback în WordPress decât doar mesajul de eroare din pagina de admin? Cum pot depana această eroare?
  3. Aveți alte idei despre ce cauzează această problemă și cum poate fi rezolvată în mediul meu de hosting shared (fără consolă, doar FTP și admin WP)?
2
Comentarii

Ai activat depanarea (debugging)? Dacă da, ce mesaje vezi?

s_ha_dum s_ha_dum
13 oct. 2014 02:32:27

Am rezolvat problema mea după acest articol. Încearcă asta dacă întâmpini aceeași problemă.

Sam Sam
13 dec. 2014 17:50:26
Toate răspunsurile la întrebare 3
1
10

încearcă să folosești

get_temp_dir() 

pentru a verifica dacă WordPress utilizează constanta ta WP_TEMP_DIR.

am testat acest cod în wp-config.php și funcționează

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

dar trebuie să-l plasezi înainte de

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

în fișierul tău wp-config.php.

13 oct. 2014 05:03:05
Comentarii

Funcționează perfect pe serverul MediaTemple grid

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

Această mesaj înseamnă că motorul PHP a încercat și nu a reușit să găsească un director în care să stocheze temporar fișierul încărcat până când acesta va fi procesat de scripturile PHP. Deoarece aceasta se întâmplă înainte ca orice script să fie executat, este foarte puțin probabil să puteți rezolva această problemă prin scrierea de cod PHP.

S-ar putea să puteți modifica setarea upload_tmp_dir din PHP în fișierul .htaccess, dar cel mai bine ar fi să contactați suportul tehnic, deoarece aceasta este o problemă de configurare a serverului, chiar dacă ați putea încerca să o rezolvați temporar prin soluții alternative.

13 oct. 2014 06:09:10
Comentarii

Un răspuns foarte util, cu perspective pe care nu le-am putut obține prin Google. Totuși, soluția mea a fost destul de simplă, așa că a trebuit să aleg propriul răspuns.

mcbetz mcbetz
13 oct. 2014 12:41:32
0

Setările în sine sunt în regulă. Dar permisiunile ar putea fi problema. Schimbă permisiunile recursiv pentru directorul wp-content la 777. Acest lucru poate ridica probleme de securitate și trebuie să ai grijă cine poate accesa și scrie fișiere în acest director.

Poate fi necesar să schimbi și permisiunile pentru directoarele wp-admin și wp-includes la 777. Reține că acest lucru nu este recomandat.

Pentru mine, după setarea permisiunilor pentru toate cele trei directoare, încărcările funcționează din nou.

13 oct. 2014 12:45:06