När du uppgraderar Laravel till PHP 8.1 kan du få följande meddelande:
Attributvärdet måste vara av typen bool för valt attribut, matris given
Anledningen:
Detta bör troligen finnas i ditt tema eller i din vältaliga kod. Prova att lägga till en ny enkel tillfällig rutt i routes/web.php:
Route::get('/test', function() { return "hej"; });
När du öppnar/testar borde det förmodligen fungera.
Det är därför det kan vara något i ditt tema. Navigera till ditt bladtema.
Konstigt nog verkar detta redan hända innan bladtemat när vi gör en vältalig begäran, som:
Route::get('/test', function() { return Page::all(); });
Märkligt nog, att använda Laravel 9 med PHP 8.0 istället för PHP 8.1 verkar ta bort felet.
Problem löst
Det verkade som om det fanns fel inställningar i mysql-drivrutinen i config/database.php:
'options' => [\PDO::ATTR_EMULATE_PREPARES => true + extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
När du ändrar detta till:
'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [],
Det löser sig
Är det någon som har haft detta problem också och vet hur man löser detta?