IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Roman Havránek:20.4.2018 0:24

Zdravím pánové,

dneska mi psal jeden můj známý, že mu jeho e-shop který je založen na platformě Prestashop, začal házet chybu u přidávání obrázku produktu a to : "Chybí dočasný adresář".
Stalo se to ze dne na den.
Nevíte čím by to mohlo být, popřípadě jak to fixnout aby to znovu fungovalo?
V Prestě se moc nevyznám, takže se ptám raději zde.

Přikládám i screen chyby.
Díky.

Odpovědět
20.4.2018 0:24
sleep();
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Roman Havránek
Jan Lupčík:20.4.2018 5:48

Ahoj, zkus se podívat na následující stránku, pokud jsi to ještě nezkoušel.
https://podpora.endora.cz/viewtopic.php?…

Nahoru Odpovědět
20.4.2018 5:48
TruckersMP vývojář
Avatar
Roman Havránek:22.4.2018 20:44

Tak bohužel, zkoušel.
Je tam řešení pro WP, nikoli pro PrestaShop.

Aktuálně si zálohuji celý projekt a zkusím regenerovat všechny miniatury a spustit automatickou opravu systému.

Uvidíme.

Nemá někdo ještě nějaké nápady, byl bych vděčný a klidně poslal i pár korun za pomoc! ;)

Děkuji moc!

Nahoru Odpovědět
22.4.2018 20:44
sleep();
Avatar
Roman Duchoň:24.4.2018 16:09

Tak možná to bude jen výstřel do tmy, ale také u WP mi pomohlo jen prostě vytvořit složku "tmp" v hlavním adresáři webhostingu (např. vedle složky "www" u Wedosu).
Já jen, že to házelo podobnou hlášku, také jsem prolézal internet co to šlo a nakonec bylo řešení tak jednoduché. :)

Nahoru Odpovědět
24.4.2018 16:09
RD
Avatar
Roman Havránek:26.4.2018 15:00

Bohužel, nepomohlo :/
Nemá někdo řešení?

Jsem ochotný klidně zaplatit nějakou kačku :)

Nahoru Odpovědět
26.4.2018 15:00
sleep();
Avatar
Odpovídá na Roman Havránek
Uživatel sítě :26.4.2018 15:15

Ahoj,

a tvůj známý třeba nedělal nějaké změny na serveru?

Vypadá to spíže na chybu ohledně samotného serveru než redakčáku.
Hádám, že sama se ta složka nesmazala, že ano? :)

Editováno 26.4.2018 15:16
Nahoru Odpovědět
26.4.2018 15:15
Chybami se člověk učí, běžte se učit jinam!
Avatar
Roman Havránek:26.4.2018 15:23

Žádné změny na serveru nebyly, pouze byli zaznamené nějaké pokusy o útoky.
Možná ji tedy někomu podařilo smazat, každopádně jí můžu přehrát, kdyby mi někdo prozradil cestu.

Díky.

Editováno 26.4.2018 15:24
Nahoru Odpovědět
26.4.2018 15:23
sleep();
Avatar
Nahoru Odpovědět
26.4.2018 19:16
Chybami se člověk učí, běžte se učit jinam!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:27.4.2018 8:29

Ja bych kontaktoval spravce serveru. Pravdepodobne provadel update php a zmenilo se nejake nastaveni.

"začal házet chybu u přidávání obrázku produktu a to : "Chybí dočasný adresář"."
Kdyz do php kodu, mozna nejakeho config souboru, pridas

error_reporting(E_ALL);

Tak by to mohlo zacit psat nejakou konkretni chybu s radkem v php kodu se jmenem souboru. Z tama zkopiruj 3 radky nad, 3 radky pod a dej to sem. Nebo muzes zkusit hledat ten text chyby. Ale to pujde nejspis pres prekladaci funkci. Musel bys dohledat klicove slovo nejspis v anglictine. A dostal by ses ke stejnemu souboru.
Pravdepodobne se z nastaveni php na serveru pri updatu ztratilo nastaveni, kde je tmp adresar serveru nebo, zmenilo nastaveni opravneni. Kdyz uploadujes obrazek, nejdriv se nahrava do tmp a pak z tmp presunujes treba do slozky na svem webu. Kdyz to nepresunes, tak se obrazek nenahraje. Prikaz, ktery to v prp presouva se jmenuje move_uploaded_file. Stalo se mi na jednom hostingu, ze zmenili opravneni do tmp a funkce move selhala, protoze nemohla soubor smazat. Nahradil jsem ji funkci copy.
http://php.net/…ded-file.php

var_dump(sys_get_temp_dir()); // ti vypise cestu k tmp
putenv('TMPDIR=/foo/bar'); // si muzes nastavit temp sam, treba do tve slozky, kdyz ti nevyhovuje ta phpckova

Na te strance WP pisou spoustu zajimavych veci. Napriklad, ze bys mohl mit spatne nastavene opravneni pro tmp. Pak by bylo nutne prihlasit se na ftp a zmenit opravneni aspon na 755 u slozku kam se obrazky nahravaji podle configu cmp presta
http://n-host.cz/…-neexistuje/

 
Nahoru Odpovědět
27.4.2018 8:29
Avatar
Roman Havránek:29.4.2018 22:49

Tak bohužel, výpis k TMP mi vypisuje: string(4) "/tmp"
Shop je umístěn v neco.cz/shop a má svůj tmp, který je definován v configu PrestaShopu:

/* Image URLs */
define('_PS_IMG_',                        __PS_BASE_URI__.'img/');
define('_PS_ADMIN_IMG_',                _PS_IMG_.'admin/');
define('_PS_TMP_IMG_',                    _PS_IMG_.'tmp/');
define('_THEME_CAT_DIR_',                _PS_IMG_.'c/');
define('_THEME_PROD_DIR_',                _PS_IMG_.'p/');
define('_THEME_MANU_DIR_',                _PS_IMG_.'m/');
define('_THEME_SCENE_DIR_',                _PS_IMG_.'scenes/');
define('_THEME_SCENE_THUMB_DIR_',        _PS_IMG_.'scenes/thumbs');
define('_THEME_SUP_DIR_',                _PS_IMG_.'su/');
define('_THEME_SHIP_DIR_',                _PS_IMG_.'s/');
define('_THEME_STORE_DIR_',                _PS_IMG_.'st/');
define('_THEME_LANG_DIR_',                _PS_IMG_.'l/');
define('_THEME_COL_DIR_',                _PS_IMG_.'co/');
define('_THEME_GENDERS_DIR_',            _PS_IMG_.'genders/');
define('_SUPP_DIR_',                    _PS_IMG_.'su/');
define('_PS_PROD_IMG_',                    _PS_IMG_.'p/');

Můžu teda ještě zkusit tu složku vymazat a znovu nahrát..
Vyzkouším :)

Nahoru Odpovědět
29.4.2018 22:49
sleep();
Avatar
Peter Mlich
Člen
Avatar
Odpovídá na Roman Havránek
Peter Mlich:3.5.2018 9:13

Nezkoumal jsem kody presta.

Upload funguje tak, ze

  • uzivatel posila soubor
  • php jen nahraje do php/tmp
  • php jej z php/tmp presunuje jinam (konkretne obrazky)

Normalne to funguje takhle.

Ten tmp presta je podle mne jen vnitrni zalezitost. Nema do nej presmerovany php/tmp.
Kdysi jsem cosi s presta delal, koukal do kodu a je to dost odflaknute. Je tedy jedno, zda pouzijes free shop nebo komerscni presta. Chci rici, ze pochybuji, ze by se namahali tam dodelat mechanismus, ktery resi spravu tempu, promazavani a tak.

TMP mi vypisuje: string(4) "/tmp"
Mi to pise na localhostu na C:/ string(33) "C:\Users\mlich\Ap­pData\Local\Tem­p"
Na hostingu string(34) "/var/www/cli­ents/client3/web33/tmp"

Pak mam jeste dalsi kouzelny prikaz :)
echo '<pre>'; echo print_r($_SERVER);
[HOME] => /var/www/clien­ts/client3/web33 -- tady mam ulozeny svuj web
Cili, v mem pripade mam skutecne tmp presmerovany do slozky tmp/ na svem webu.

function zobrazPrava($path)
{
return substr(sprintf('%o', fileperms($path)), -3);
}

$a = "upload_tmp_dir";
$b = "upload_max_filesize";
$c = "post_max_size";
var_dump(
getcwd(),                       // /home/didou
ini_get("open_basedir"),        //home
ini_get($a) ? ini_get($a) : get_cfg_var($a),    //temp
zobrazPrava(getcwd()),
zobrazPrava(ini_get("open_basedir")),
zobrazPrava(ini_get($a) ? ini_get($a) : get_cfg_var($a))
);

string(36) "/var/www/cli­ents/client3/web33/web­/x"
string(287) "/var/www/cli­ents/client3/web33/web­:/var/www/cli­ents/client3/web33/pri­vate:/var/www/­clients/clien­t3/web33/tmp:/var/www/**­*/web:/srv/www/***/web:/­usr/share/php5:/us­r/share/php:/tmp:­/usr/share/phpmy­admin:/etc/phpmy­admin:/var/lib­/phpmyadmin:/dev/ran­dom:/dev/uran­dom"
string(34) "/var/www/cli­ents/client3/web33/tmp" (*** = adresa webu, nechci davat)
string(3) "755"
string(1) "0"
string(3) "770"

Editováno 3.5.2018 9:14
 
Nahoru Odpovědět
3.5.2018 9:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.