CuteNews PHP 8.2 Fatal Error hibakeresés
Ismét egy PHP verzió frissítési probléma:
8.2 php verzióra frissítés esetén felépő hiba üzenet:
Fatal error: Array and string offset access syntax with curly braces is no longer supported ..core\security.php on line 204
A security.php 204. sorának tartalma: ${$vars{$j}} = $hash[$j]; Tehát valószínűsíthető, hogy megint egy tömb kezelési probléma lépett fel. javítsuk: ${$vars[$j]} = $hash[$j];
és szokás szerint jön a következő:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in ..core\security.php on line 237
A security.php 237. sorában ismét feltűnik a {$vars{$j}} javítsuk: ${$vars[$j]}
és a következő:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function user_error_handler(), 4 passed in index.php on line 14 and exactly 5 expected in ..core\core.php:382 Stack trace: #0 index.php(14): user_error_handler(2, 'Undefined array...', '\\htdoc...', 14) #1 {main} thrown in ..core\core.php on line 382
A core.php 382.sora: function user_error_handler($errno, $errmsg, $filename, $linenum, $vars) itt is előkerül a $vars változó mint paraméter, alapértelmezett érték nélkül.
Ha végig nézzük a függvényt láthajuk, hogy a $vars paraméter ebben a verzióban nincs használatban. Két javítási lehetőségünk van:
1. Töröljük a $vars paramétert: function user_error_handler($errno, $errmsg, $filename, $linenum)
2. Alapértelmezett értéket adunk neki: function user_error_handler($errno, $errmsg, $filename, $linenum, $vars = NULL )
A második megoldás azért jobb, mivel ha mégis érkezik $vars paraméter akkor a NULL érték helyére bekerül és nem veszítünk a funkcionalitásból.
További szép napot és hibakeresést mindenkinek.