0d7e1cf.jpg

Prechod na PHP 5.6

Prechod na novšiu verziu PHP spôsobil niektorým našim klientom nemalé problémy. Konkrétne popularný handmade eshop Marrci.sk zažil výpadok webu na niekoľko hodín. IT Man bol však pritom a jeho rýchly zásah dal veci späť na poriadok.

Problém nastal s funkciou preg_replace(), ktorá vo PHP 5.6 už nie je podporovaná. Dôsledok bola chybová hláška zobrazená snaď 100 krát naprieč stránkou, nepoužiteľný obchod a pochopiteľne nespokojný zákazník.

Ukážka chybovej hlášky:

PHP Unknown: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in

IT Man zasiahol a nahradil všetky výskyty zastaralej funkcie preg_replace() novou preg_replace_callback().
V prípade obchodu Opencart sa táto funkcia nachádza v súbore vqmod.php, nahradíte ju nasledovne:

Riadok: $modFilePath = preg_replace(‘/([^*]+)/e’, ‘preg_quote(“$1”, “~”)’, $modFilePath);
Vymeníte za
Riadok: $modFilePath = preg_replace_callback(‘/([^*]+)/’, function ($m) { return preg_quote($m[1], “~”); }, $modFilePath);

Riešenie vzniknutej situácie trvalo menej ako 15 minút a zákazníci Marrci.sk si mohli pekné handmade “vecičky” objednať aj v Nedeľu.

Matej

Matej

Špecializujem sa na webové technológie. Mám však rád akúkoľvek technickú výzvu a riadim sa mottom "Kvalitne a bez čakania".