Do you have that class in your vendor folder?
Perplexing issue with Laravel 5.8 and PostgreSQL 16.4
I have a Laravel application I built several years ago on Ubuntu 18.04 LTS. I want to upgrade it to the current 24.04.1. Because I don't trust Ubuntu's upgrade process to work across several versions I created a 24.04 install on a fresh drive, mounted it and copied critical stuff from the production drive to it. When everything works I'll clone it back to the ($$) SSD drive.
Everything passed except the Postgresql connection to this Laravel app, which has run flawlessly for years. With Postgresql 16, I get an error right off the bat.
Class 'Illuminate\Database\PostgresConnection' not found (View: /web/hrl/resources/views/home/dashboard.blade.php)
Nothing has been changed in the Laravel code or config. Here's my connection block in .env
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=hrl
DB_USERNAME=www
DB_PASSWORD=www
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Because there are some legacy Wordpress installations running on this server I have to use PHP 7.4. However, the required mods are installed.
[PHP Modules]
...
PDO
pdo_mysql
pdo_pgsql
pgsql
...
zip
zlib
Apache is also running the PHP7.4 module.
I created a little PHP script to test PHP7's PSQL PDO and it worked fine:
<?php
$dbh = new PDO("pgsql:dbname=hrl;host=127.0.0.1", "www", "www");
if ($dbh) { echo "\nConnected"; }
else { echo "\nError connecting"; }
?>
It connects fine.
I can login to PostgreSQL using psql and this account without a problem.
psql -U www -W -h 127.0.0.1 -d hrl
Password:
Pager usage is off.
psql (16.4 (Ubuntu 16.4-0ubuntu0.24.04.2))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.
hrl=>
Given that the application runs fine on Ubuntu 18.04 and PostgreSQL 10, I've run out of ideas short of throwing gris-gris powder on chicken bones.
Does anyone have clue what I should check next?? I swear, if someone gives me a lead that helps fix this problem I'll purchase a Forever Plan on Laracasts.
Here's the full error dump.
[2024-09-03 18:50:00] local.ERROR: Class 'Illuminate\Database\PostgresConnection' not found (View: /web/hrl/resources/views/home/dashboard.blade.php) {"exception":"[object] (ErrorException(code: 0): Class 'Illuminate\\Database\\PostgresConnection' not found (View: /web/hrl/resources/views/home/dashboard.blade.php) at /web/hrl/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:276, Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'Illuminate\\Database\\PostgresConnection' not found at /web/hrl/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:276)
[stacktrace]
#0 /web/hrl/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(47): Illuminate\\View\\Engines\\CompilerEngine->handleViewException()
#1 /web/hrl/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\\View\\Engines\\PhpEngine->evaluatePath()
#2 /web/hrl/vendor/laravel/framework/src/Illuminate/View/View.php(142): Illuminate\\View\\Engines\\CompilerEngine->get()
#3 /web/hrl/vendor/laravel/framework/src/Illuminate/View/View.php(125): Illuminate\\View\\View->getContents()
#4 /web/hrl/vendor/laravel/framework/src/Illuminate/View/View.php(90): Illuminate\\View\\View->renderContents()
#5 /web/hrl/vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\\View\\View->render()
#6 /web/hrl/vendor/symfony/http-foundation/Response.php(202): Illuminate\\Http\\Response->setContent()
#7 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Symfony\\Component\\HttpFoundation\\Response->__construct()
#8 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(720): Illuminate\\Routing\\Router::toResponse()
#9 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\\Routing\\Router->prepareResponse()
#10 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#11 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#12 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#13 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(75): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#15 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#16 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /web/hrl/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#18 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#19 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /web/hrl/app/Http/Middleware/Language.php(28): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#21 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): App\\Http\\Middleware\\Language->handle()
#22 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#23 /web/hrl/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#24 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Session\\Middleware\\StartSession->handle()
#25 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /web/hrl/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#27 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#28 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /web/hrl/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#30 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#31 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#33 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\\Pipeline\\Pipeline->then()
#34 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack()
#35 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\\Routing\\Router->runRoute()
#36 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute()
#37 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch()
#38 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#39 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#40 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#41 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#43 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#44 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#46 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#47 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#49 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle()
#50 /web/hrl/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#51 /web/hrl/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}()
#52 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then()
#53 /web/hrl/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#54 /web/hrl/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle()
#55 {main}
"}
@smanes on your copy, delete the vendor folder and run composer install
Please or to participate in this conversation.