Lipsa unui folder temporar în ciuda setărilor din wp-config.php
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:
- Ar trebui ca modificările din
wp-config.php
să aibă efect imediat? - Cum pot obține mai mult feedback în WordPress decât doar mesajul de eroare din pagina de admin? Cum pot depana această eroare?
- 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)?
î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.

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.

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.
