PhocaGalery - chyba po přechodu na PHP 8

Miroslavos
07. led 2022 14:32 #145472
Dobrý den,
předem upozorňuji, že redakční systém používám proto, že ne úplně rozumím Programovacím jazykům.
Joomla nějakou dobu vykazoval upozornění na zastaralé PHP. Tak jsem tedy nechal web přesunout na server s vyšším PHP.
Jenže Pohoca Galery mi vykazuje chybu

Warning: Undefined array key 1 in /www/doc/www.zs4krnov.cz/www/components/com_phocagallery/views/category/view.html.php on line 971

Warning: Attempt to read property "title" on null in /www/doc/www.zs4krnov.cz/www/components/com_phocagallery/views/category/view.html.php on line 971

Počet chyb je podle počtu kategorii v nadkategorii. Když kategorii rozkliknu chyby už nejsou.

Mohl by mi prosím někdo poradit jak to mám opravit? Děkuji

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
07. led 2022 14:47 - 07. led 2022 14:48 #145473
Ahoj,

jakou verzi Phoca Gallery používáš?


Jinak toto nejsou chyby, ale "warnings" - tedy upozornění pro vývojáře. Na ostrém webu se tato varování vypínají (v Joomla konfiguraci - vypnout zobrazování chyb)

Pokud používáš PHP 8, tedy nejnovější PHP verzi, pak bych taky doporučil nejnovější Joomlu - tedy Joomlu 4 a nejnovější Phoca Gallery, tedy Phoca Gallery 4.5. Tam by ta upornění neměla být, protože tato verze se vyvíjí na PHP 8.

Viz:
www.phoca.cz/demo/

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Miroslavos
07. led 2022 15:09 #145474
Ahoj,

mám verzi 4.4.3

Děkuji za typ s vypnutím zobrazování chyb, chyba se nezobrazuje a galerie funguje,
Každopádně galerie pro Joomla 4 je líbivější, jenže na webu používám nástroje, kterým skončil vývoj a zřejmě není možné je používat na vyšší verzi Joomla.

Navíc se bojím i migrace, jednou to vyzkouším na nějakém testovacím webu co mám.

Každopádně děkuji za radu, které mi vyřešila minimálně zobrazení chyby na webu.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
07. led 2022 17:12 - 07. led 2022 17:44 #145477
Já bohužel patřím mezi ty, kteří při doporučení - vypni chyb PHP na serveru nebo v joomle - vyskakuji dva metry vysoko a automaticky otevírám nůž v kapse.

Tohle řešení je pro ty co tomu moc nerozumí a ty co nechtějí ladit chyby PHP.

Nechci se dotknout žádného programátora a předem se jim omlouvám, ale

Už vám někdo dodal dřevěné okna s tím, že drobná nenalakované místa není chyba a můžete si je svépomocí dolakovat?
Asi by jste s ním vyběhli

Včera jsem řešil na webu to, že během 30 minut se vytvořil 2GB log chybových hlášek (warningy, notice) z jednoho webu a ukládal se na serveru.
Co to udělá na sdíleném hostingu nechci předjímat. Dyť ten web furt jenom zapisuje do logu ty chyby i když je nevidíte na FE, jak potom má rychle fungovat?

Za mě - zapínám výpis jednoduchých chyb v Joomla a programátory třískám pravítkem přes prsty že si po sobě nekontrolují práci.

V error logu na severu nemá nic být.

Ale se svým názorem jsem bohužel osamocený a svádím denní bitvy.

Důležité - toto na běžné weby není třeba a postačí co napsal Honza.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
07. led 2022 18:09 - 07. led 2022 18:11 #145478
Rudo,

je zapotřebí přečíst celé vlákno.

Ty warningy samozřejmě v nejnovější verzi nejsou.

Za mě - zapínám výpis jednoduchých chyb v Joomla a programátory třískám pravítkem přes prsty že si po sobě nekontrolují práci.


Tady je to úplně opačně. Ten kód byl vytvořen ještě před tím, než se začaly objevovat warningy. Není to o tom, že by někdo dělal chyby, ale napsal kód ještě před tím, než se z toho kódu stal kód, který vytváří warningy.

Příklad:

- napíše se kód pro PHP 7, vše je OK
- někdo updatuje server na PHP 8 a kód, který byl napsán pro PHP 7, vypisuje warningy.

A řešení není jen tak jednoduchý. Je možné nainstalovat nějnovější kód pro PHP8 a vše bude OK, jenže, pokud jsou podmínky takové, že např. nelze stránku převést na nejnovější, pak to prostě nejde.


Já tedy doporučuji:

- pokud nelze updatovat Joomlu a její rozšíření na nejnovější, pak je lépe neupdatovat ani PHP.


Warningy, Notices, a podobně nejsou chyby. Jsou to varování a poznámky určené pouze a jen pro vývojáře, aby v příští verzi změnili svůj kód.

Na produkčním serveru tedy platí:

- vypnout zobrazování chyb
- vypnout zapisování chyb do logu

To zapínat pouze v případě debugování problémů.


Když to shrnu v krátkosti:

- warningy a notices jsou určené jen pro vývojáře, nejsou to chyby
- pokud nemůžu updatovat Joomlu nebo rozšíření na nejnovější, nemělo by se updatovat ani PHP
- nezaměňovat příčinu za následek. Příčinou warningů není z 90% chybně napsaný kód, ale použití kódu na jiném než určeném prostředí. Typicky použití PHP 5 nebo PHP 7 kódu na serveru s PHP 8.

Za mě - zapínám výpis jednoduchých chyb v Joomla a programátory třískám pravítkem přes prsty že si po sobě nekontrolují práci.


Může fungovat, ale nelze aplikovat na budoucí podmínky. Na to by byl potřeba stroj času, protože pokud někdo napíše PHP 7 kód, který nevyhazuje warningy a notices na PHP 7 serveru, v případě zobrazování warningů a notices na PHP 8 serveru toho samého kódu by jsi se musel vrátit do minulosti a zmlátit programátora a říct mu, ať to napíše tak, ať to funguje v příští PHP 8 verzi, která ještě neexistuje a nikdo vlastně neví, jak to pro ni napsat.

Jestli máš stroj času, teoreticky bychom tak mohli mnoha warningům a notices předejít.

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...
Poděkovali: Rudolf

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
07. led 2022 18:29 #145479
V pohodě, nechci zpochybňovat co je a jak je a také vím když se aplikace napíše např na 7.4 a odladí, na 8 už tam chyby prostě z povahy věci budou, to je jasné i malému děcku :)

Jak jsem psal, je to běžná zvyklost vypínat warningy a notice v Joomla.

Mě se stejně ale na serveru pak generují GB log soubory s warningami a notice - a vysvětluj to programátorovi, že ty notice se ukládají na server do logu a zpomalují web.
Nikdo to nechce řešit. Jen prostě se napíše - vypni si generování chyb.
Ale já nemám přístup do nastavení apache.
Mohu sice vytvořit override a v administraci webu na serveru zapsat inicializační kód do apache, ale to mohu já, na běžném serveru to není == musíš psát na podporu a obecně většina adminů ani netuší o čem se bavíme.

hele probereme ve čtvrtek, zde už není třeba

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
07. led 2022 19:52 - 07. led 2022 21:08 #145480

Nikdo to nechce řešit. Jen prostě se napíše - vypni si generování chyb.
Ale já nemám přístup do nastavení apache.


Jasný, ale znovu opakuju, tady to veřešený je - jen v novější verzi, kterou není zatím možné v daných podmínkách použít.

Alternativ jak to vyřešit, je nekonečně:

- použít nejnovější Joomla verzi
- nepoužítvat nejnovější PHP verzi
- vypnout zobrazovaní chyb
- vypnout logování
- přepsat si stávající kód sám
- napsat si kód kompletně sám
- atd.

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.