why .env file configuration in laravel is not working - laravel

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=root
DB_PASSWORD=
this is my configuration for laravel 5.4
but php artisan migrate is not working and have error
and the migrate error
Users-MacBook-Pro: ATP Developers php artisan migrate
In Connection.php line 664:
SQLSTATE[HY000] [1045] Access denied for user ''#'localhost' (using password: NO) (SQL: select * from information_schema.tables where table schema = atp_db and table_name = migrations)
In Connector.php line 87:
SQLSTATE[HY000] [1045] Access denied for user ''#'localhost' (using password: NO)

I faced a similar problem. So, I run the following commands as mentioned at
https://laracasts.com/discuss/channels/general-discussion/env-file-and-config-keys-not-updating-after-change,
php artisan cache:clear
php artisan config:clear
php artisan route:clear
Also, make sure to restart the server as well
php artisan serve

you should write these:
DB_DATABASE = your database name
DB_USERNAME = root
DB_PASSWORD = your password
and again run php artisan serve to make sure about saving .env and again run php artisan migrate

Indeed I had the same problem, I can not explain why Laravel indicates the old Host but the solution is to change the password.
Use below => php artisan config:cache

Change env host entry to DB_HOST=localhost. Or add the #'127.0.0.1' credentials to mysql.

The error indicates that you do not have the correct user and host combination in your database. The env file shows host is 127.0.0.1 but localhost is specified in the error. Add user#localhost entry to the database or user#% for wildcard.

This error would indicate that you don't have a database user configured in your .env file: ''#'localhost' . Your .env should have all those fields populated with the database name and credentials you configured before running any function that connects to the database.
Here are the preliminary steps to setup your database and .env file prior to running a php artisan migrate:
Hope it helps.
Step 1: Login to your mysql and create the database.
mysql -u root -p
create database just_brew_it;
Step 2: Although you can use root to authenticate via laravel, I'd create a new user to mitigate risk of any security issues:
GRANT ALL PRIVILEGES ON just_brew_it.* TO 'brew_user'#'%' identified by 'pint0fStell#' WITH GRANT OPTION;
FLUSH privileges;
Step 3: Modify your .env with the appropriate database, username and password
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= just_brew_it
DB_USERNAME= brew_user
DB_PASSWORD= pint0fStell#

This combo worked for me:
php artisan clear-compiled
composer dump-autoload
php artisan optimize

I had the same issue and i couldnt run "config:cache" artisan command even with Artisan::call('config:cache');
so i done this and solved my issue:
artisan config:cache caches all files from /config into a single array that it stores. It then reads all config variables from that array and ignores anything in .env or the /config files until you recache them. That's why it still works after deleting .env.
https://laravel.com/docs/5.6/configuration#configuration-caching
If you don't have ssh access to your live server, you'd just need to delete the bootstrap/cache/config.php file, which is the cache file config:cache generates.

Related

Laravel 7 php artisan migrate database error

When I run 'php artisan migrate' i am getting the following error
Access denied for user 'dbuser'#'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = dbname_main and table_name = migrations and table_type = 'BASE TABLE')
I have tried removing the vendor and reinstalling but no success. I am using php7.4
Is all the php extensions required for laravel 7.x is available for php7.4?
Usually you get this error with invalid db credentials.
Try using the correct ones.
Please double check the values that you set for your database variables (those prefixed with DB_) in your .env file
If you're sure your db credentials are correct, try:
php artisan config:clear
php artisan config:cache
php artisan cache:clear

can't make migration in laravel by php artisan migrate command

when i write this command:
php artisan migrate
Laravel Provides Database migrations which don't work very well for me when i write this command:
php artisan migrate
it always give me this error
Change the .env file from 127.0.0.1 to localhost fixed it.
DB_HOST=localhost
do config:cache after .env file change. php artisan config:cache
Ensure you have an .env file, and that the database related variables within have been set correctly.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password

Laravel Cpanel error :SQLSTATE[HY000] [1045] Access denied for user 'homeimpr_clranke'#'localhost' (using password: YES)

My env file as follow:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin_clrank
DB_USERNAME=admin_clranke
DB_PASSWORD=admin#123
i am getting the error and i have checked the username and password that are same.My website is in cpanel. config.php file is also delted.
Try to use username and password as follows with quotation. i have no idea how it worked, but it really worked for me after searching a lot.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin_clrank
DB_USERNAME='admin_clranke'
DB_PASSWORD='admin#123'
it can be fixed by adding a ' single quote on database user and password
DB_DATABASE=admin_clrank
DB_USERNAME='admin_clranke'
DB_PASSWORD='admin#123'
like this. it will work fine for me
1- Add single quote ' in username and password
2- Then add this route in your web app and open it from browser:
Route::get('/cleareverything', function () {
$clearcache = Artisan::call('cache:clear');
echo "Cache cleared<br>";
$clearview = Artisan::call('view:clear');
echo "View cleared<br>";
$clearconfig = Artisan::call('config:cache');
echo "Config cleared<br>";
});
Use console and artisan:
php artisan config:cache
This will clear cache configuration and then new settings will work.
Steps to debug:
check if you have .env file in server/cpanel usually we don't publish .env files on server, if you have .env file then the username in your .env file and in error is different. Looks like database configuration is inside your config/database.php file.
check if database credentials in config/database.php file is correct
if nothing works create new database and user and then change your db credential in .env file if you are using .env else update credential in config/database.php file...
create and grant access to user homeimpr_clranke
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin_clranke
DB_USERNAME=homeimpr_clranke
DB_PASSWORD=password
make sure your database name is also correct and take note your cpanel username is attached to the db_database
change DB_HOST to localhost
and run php artisan cache:clear
and php artisan config:cache
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=admin_clranke
DB_USERNAME=homeimpr_clranke
DB_PASSWORD=password

database connection error while connecting database in live server error 1045

my .env file setup like this on the live server. but while I am
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=onlyaruv_notepad-apps
DB_USERNAME=onlyaruv_notepad
DB_PASSWORD=mypassword
the error was
SQLSTATE[28000] [1045] Access denied for user 'onlyaruv_notepad'#'127.0.0.1' (using password: YES) (SQL: select * from `users` where `email` = ih76632#gmail.com limit 1)
I access my ssh via putty using this host and password
http://5.100.156.10:2082 I am confused .
Have you given All privileges to onlyaruv_notepad this user?
if you not please give all privileges to the user.
still, The problem not solved check host is correct or not.
(change DB_HOST=127.0.0.1 to DB_HOST=localhost
Check your database connection carefully. If it does not work then
Run the following artisan command and try again
php artisan config:clear
php artisan cache:clear
php artisan view:clear

Laravel 5 database.php set to sqlite - artisan uses mysql

I seem to be having a problem with artisan reading the default config/database.php file.
When I run for php artisan migrate:status - or any other migration related commands I get
exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access
denied for user 'homestead'#'localhost' (using password: YES)'
even though the default database connection name is set to sqlite, which doesn't require credentials of any kind.
My .env has APP_ENV=local and I'm running it under the local environment with PHP 5.6.2 using Mamp.
After calling php artisan I've noticed there is a command to clear the configuration cache file php artisan config:clear - then run php artisan config:cache to cache it with the applied changes - which solved the problem.

Resources