چنانچه از فریم ورک لاراول در وبسایت خود استفاده کرده اید ممکن است گاهی اوقات به دلیل وجود مشکل در ارتباط با دیتابیس با خطای زیر مواجه شوید:
Illuminate \ Database \ QueryException (1044) SQLSTATE[HY000] [1044] Access denied for user ' DBUSER '@'localhost' to database 'DBNAME' (SQL: select * from `tbl_subjects` where `replay_subjects` = - order by `id` desc)
/home/USERNAME/public_html/vendor/laravel/framework/src/Illuminate/Database/Connection.php
دلیل وقوع خطا
دلیل خیلی سادست! در واقع لاراول نمی تواند با دیتابیسی که به آن معرفی کردید ارتباط برقرار کند. این به آن معناست که یا تنظیمات دیتابیس در هاست دچار مشکل یا در لاراول.
نحوه رفع خطا
1- ابتدا تنظیمات هاست را بررسی می کنیم. به عنوان مثال چنانچه از cPanel جهت مدیریت هاست استفاده می کنید، پس از لاگین به آن به بخش Databases > MySQL Database مراجعه و اطمینان حاصل کنید که دیتابیس ذکر شده در متن خطا در این بخش قرار داشته و نام کاربری مندرج در متن خطا به آن متصل باشد.
2- چنانچه از صحت کارکرد دیتابیس در هاست مطمین شدید، حال لازم است به پروژه لاراول مراجعه و فایل محتوی اطلاعات دیتابیس را بررسی کنید. این فایل بسته به نوع پروژه و عملکرد شما معمولا در یکی از مسیرهای زیر قرار دارد:
Public_html/config/database.php
Public_html/app/config/database.php
Public_html/.env
اطمنیان حاصل کنید نام سرور، نام دیتابیس، نام کاربری و رمز عبور دقیقا مشابه تنظیمات انجام شده در هاست باشد. چنانچه تناقضی وجود داشت اقدام به تصحیح اطلاعات کنید.
کار تمام شد! با رفع تناقض در یکی از دو مرحله بالا، ارتباط برقرار شده و دیگر با خطای دیتابیس مواجه نخواهید شد. کافیست مجددا به آدرس وبسایت مراجعه کنید.