database.default.hostname = ''
database.default.database = ''
database.default.username = ''
database.default.password = ''
database.default.DBDriver = 'mysqli'
I created a .env file like this and in database.php i call it like below
$db['default'] = array(
'DSN' => '',
'hostname' => env('database.default.hostname'),
'username' => env('database.default.username'),
'password' => env('database.default.password'),
'database' => env('database.default.database'),
'DBDriver' => env('database.default.DBDriver'),
];
but it gives me internal server error, by hardcoding in database.php it works but i want to load it from .env file
load data from .env file
first install this library by using this command
composer require vlucas/phpdotenv
set up environment file
DB_HOST=localhost
DB_USERNAME=root
DB_PASSWORD=password
Add following code line to the on top of the index.php
$dotenv = \Dotenv\Dotenv::createImmutable(FCPATH);
$dotenv->safeLoad();
after that in the database.php change like below
$host = $_ENV['DB_HOST'];
$username = $_ENV['DB_USERNAME'];
$password = $_ENV['DB_PASSWORD'];
note that in codeigniter 4 has built-in support for env files no need install 3rd party libraries