> For the complete documentation index, see [llms.txt](https://learnphp.gitbook.io/learnphp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learnphp.gitbook.io/learnphp/learn-lavarel/cau-hinh-o-local-and-and-cau-hinh-production.-ok.md).

# Cấu hình ở local && Cấu hình production. (ok)

### 1.Cấu hình ở local. <a href="#id-1cau-hinh-o-local-2" id="id-1cau-hinh-o-local-2"></a>

Để cấu hình database ở local. Chúng ta vào file .env và thiết lập cài đăt như sau:

* name-host : bạn điền vào tên host, ở đây là localhost.
* name-database : bạn điền vào tên database mà bạn đã tạo.
* username-db : bạn điền vào username dùng để đăng nhập db, ở đây thường là root (mặc định đối với wamp hoặc xampp).
* password-db : bạn điền vào password dùng để đăng nhập db, ở đây thường là rỗng (mặc định đối với wamp hoặc xampp).

```
APP_ENV=local
APP_DEBUG=true
APP_KEY=jnGIndjFo8F1i3PhgSfzodig50YoS4pc
 
DB_HOST=name-host
DB_DATABASE=name-db
DB_USERNAME=username-db
DB_PASSWORD=password-db
 
CACHE_DRIVER=file
SESSION_DRIVER=file
```

### 2.Cấu hình production. <a href="#id-2cau-hinh-production-3" id="id-2cau-hinh-production-3"></a>

Thiết lập cấu hình trong file config/database.php.

```
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Database Connection Name
    |--------------------------------------------------------------------------
    |
    | Here you may specify which of the database connections below you wish
    | to use as your default connection for all database work. Of course
    | you may use many connections at once using the Database library.
    |
    */

    'default' => 'mysql',

    /*
    |--------------------------------------------------------------------------
    | Database Connections
    |--------------------------------------------------------------------------
    |
    | Here are each of the database connections setup for your application.
    | Of course, examples of configuring each database platform that is
    | supported by Laravel is shown below to make development simple.
    |
    |
    | All database work in Laravel is done through the PHP PDO facilities
    | so make sure you have the driver for your particular database of
    | choice installed on your machine before you begin development.
    |
    */

    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

        'pgsql' => [
            'driver' => 'pgsql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

        'sqlsrv' => [
            'driver' => 'sqlsrv',
            'host' => env('DB_HOST', 'localhost'),
            'port' => env('DB_PORT', '1433'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
        ],

    ],

    /*
    |--------------------------------------------------------------------------
    | Migration Repository Table
    |--------------------------------------------------------------------------
    |
    | This table keeps track of all the migrations that have already run for
    | your application. Using this information, we can determine which of
    | the migrations on disk haven't actually been run in the database.
    |
    */

    'migrations' => 'migrations',

    /*
    |--------------------------------------------------------------------------
    | Redis Databases
    |--------------------------------------------------------------------------
    |
    | Redis is an open source, fast, and advanced key-value store that also
    | provides a richer set of commands than a typical key-value systems
    | such as APC or Memcached. Laravel makes it easy to dig right in.
    |
    */

    'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_DB', 0),
        ],

        'cache' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_CACHE_DB', 1),
        ],

    ],

];

```

Trong đó tại trường 'default' => 'mysql', mysql là loại cơ sở dữ liệu bạn kết nối tới, bạn có thể thay đổi nó bằng sqlite, postgres,…

Sau đó thiết lập cấu hình cho loai cơ sở dữ liệu bạn chọn. Ở đây, chúng ta sài mysql. Chúng ta phải thiết lập cấu hình cho nó như sau.

* name-host : tên host của bạn
* name-database : tên cơ sở dữ liệu của bạn,
* username-db : username đăng nhập vào db,
* password-db : password đăng nhập vào db của bạn.

```
'mysql' => [
			'driver'    => 'mysql',
			'host'      => env('DB_HOST', 'name-host'),
			'database'  => env('DB_DATABASE', 'name-database'),
			'username'  => env('DB_USERNAME', 'username-database'),
			'password'  => env('DB_PASSWORD', 'password-database'),
			'charset'   => 'utf8',
			'collation' => 'utf8_unicode_ci',
			'prefix'    => '',
			'strict'    => false,
		],
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learnphp.gitbook.io/learnphp/learn-lavarel/cau-hinh-o-local-and-and-cau-hinh-production.-ok.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
