MISSING A TEMPORARY FOLDER

  Chyby a problémy

S chybou Missing a temporary folder se většinou u sdílených webhostingů nesetkáte, spíše se objeví u vašich prvních pokusů o ovládnutí VPS 🙂 I když existují případy, kdy si uživatel smazal adresář i ze svého webhostingu (ne)úmyslně.

Takže situace je následující. Chcete nahrát obrázek do WordPress a v administraci se objeví:

Missing a temporary folder.

S největší pravděpodobností se vám podařilo smazat adresář, kam se ukládají dočasné soubory. Popřípadě jste mu přidělili taková práva, která znemožňují skriptu do něj zapisovat.

Na sdíleném webhostingu většinou máte v nejvyšším adresáři, kam vám povolí přístup následující adresáře:

session/
tmp/
www/

Pokud jste si adresář tmp smazali anebo u něj změnili atributy pro oprávnění zápisu a čtení, tak jej zde znovu vytvořte a přidělte mu práva 777. Zkuste nahrát opět nějaký obrázek jestli vše funguje.

Nepomohlo anebo nevím jak dál

Nejdříve zkontrolujte soubor php.ini. Právě v něm totiž najdete přesné umístění tohoto adresáře. Popřípadě si můžete vytvořit dočasný soubor neco.php a do něj vložte:

phpinfo();

Ten nahrajte do adresáře, kde máte instalaci WordPress. Pak jej zavolejte přes URL v prohlížeči (například doména.cz/neco.php). Objeví se vám velký výpis konfigurace apache, php a nainstalovaných modulů. To co potřebujte je najít hodnotu upload_tmp_dir. Právě u ní je cesta, kde se má adresář nacházet.

Běžte na místo, kde se má nacházet a vytvořte jej.

upload_tmp_dir tam není

Ok, tak tohle už bude náročnější. Běžte do adresáře, kde se nachází php.ini. U Linuxu je to v 90 %

/etc/php5/apache2/php.ini

Pokud máte nějakou domácí instalaci LAMP, tak je to většinou v adresář:

/Program Files(x86)/nazev_instalace_lamp/PHP/php.ini

Vyeditujte si php.ini a najděte řádek upload_tmp_dir. Někdy může být zakomentovaný:

;upload_tmp_dir

To znamená, že je neaktivní. Odstraňte ; vložte adresu adresáře pro dočasné soubory například:

upload_tmp_dir = /home/uzivatel/www/tmp/

Teď je třeba ještě restartovat službu serveru. Záleží co používáte. U Apache:

apache2ctl restart

U Nginx

service nginx restart

Takže teď už PHP ví, kde se má nacházet adresář pro dočasné soubory. Stále je třeba jej tam ale ručně vytvořit a nastavit mu oprávnění, aby do něj mohl skript zapisovat.

Napiš komentář