Diskuze: PrestaShop 1.6.1.10
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, zkus se podívat na následující stránku, pokud jsi to ještě
nezkoušel.
https://podpora.endora.cz/viewtopic.php?…
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!
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é.
Bohužel, nepomohlo :/
Nemá někdo řešení?
Jsem ochotný klidně zaplatit nějakou kačku
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?
Žá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.
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/
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
Nezkoumal jsem kody presta.
Upload funguje tak, ze
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\AppData\Local\Temp"
Na hostingu string(34) "/var/www/clients/client3/web33/tmp"
Pak mam jeste dalsi kouzelny prikaz
echo '<pre>'; echo print_r($_SERVER);
[HOME] => /var/www/clients/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/clients/client3/web33/web/x"
string(287)
"/var/www/clients/client3/web33/web:/var/www/clients/client3/web33/private:/var/www/clients/client3/web33/tmp:/var/www/***/web:/srv/www/***/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom"
string(34) "/var/www/clients/client3/web33/tmp" (*** = adresa webu, nechci
davat)
string(3) "755"
string(1) "0"
string(3) "770"
Zobrazeno 11 zpráv z 11.