Ra mắt hai series mới cực hot Trí tuệ nhân tạo A đến ZPython công cụ không thể thiếu khi nghiên cứu Data science, Machine learning.

Thiết lập cấu hình Laravel

Trong dự án sử dụng framework Laravel có thư mục config chứa tất cả các cấu hình cho ứng dụng web như cấu hình database, mail, application, service, session... Chúng ta sẽ tìm hiểu nhanh những chỗ cần cấu hình để một dự án Laravel có thể chạy tốt.

Các thiết lập cơ bản

Các thiết lập này liên quan đến quyền truy cập một số thư mục, tạo key ứng dụng Laravel hay một số thiết lập về địa phương, múi giờ... Thiết lập quyền ghi cho một số thư mục trong dự án Sau khi cài đặt xong Laravel để chạy được chúng ta cần phân quyền ghi cho hai thư mục storage và bootstrap/cache, nếu không bạn thử truy cập trang chủ dự án sẽ lỗi 404. Trên linux sử dụng lệnh chown như sau:

# Nếu sử dụng Nginx
chown -R nginx:nginx storage
chown -R nginx:nginx bootstrap/cache
# Nếu sử dụng Apache
chown -R apache:apache storage
chown -R apache:apache bootstrap/cache

Copy file .env và tạo application key Quá trình cài đặt đã tự động sinh ra application key, nếu bạn copy mã nguồn ở đâu đó về, cần tạo application key lại bằng lệnh 

php artisan key:generate
Application key [base64:bib6Gi4iQ/sI3WTq8L7baYcD4wRZrd7dUNOoTOENsUg=] set successfully.

Chú ý, nếu thư mục gốc chưa có file .env là file chứa các thiết lập môi trường thực hiện copy từ file .env.example sang .env trước khi thực hiện lệnh tạo lại application key ở trên. 

cp .env.example .env

Thiết lập địa phương và múi giờ Cấu hình múi giờ cũng như địa phương hoạt động của ứng dụng trong config/app.php 

    /*
    |--------------------------------------------------------------------------
    | Application Timezone
    |--------------------------------------------------------------------------
    |
    | Here you may specify the default timezone for your application, which
    | will be used by the PHP date and date-time functions. We have gone
    | ahead and set this to a sensible default for you out of the box.
    |
    */

    'timezone' => 'Asia/Ho_Chi_Minh',

    /*
    |--------------------------------------------------------------------------
    | Application Locale Configuration
    |--------------------------------------------------------------------------
    |
    | The application locale determines the default locale that will be used
    | by the translation service provider. You are free to set this value
    | to any of the locales which will be supported by the application.
    |
    */

    'locale' => 'vn',

Ở đây, ứng dụng hoạt động tại Việt Nam và với múi giờ GMT +7: Asia/Ho_Chi_Minh.

Các thiết lập biến môi trường

Laravel cho phép chạy trong các môi trường khác như môi trường phát triển, môi trường kiểm thử... do đó có thể thiết lập các biến môi trường trong file .env ở trên. Trong trường hợp bạn không cài đặt Laravel mà copy mã nguồn từ chỗ khác về, bạn có thể copy file .env.example và đổi tên thành .env.

APP_ENV=local
APP_DEBUG=true
APP_KEY=bib6Gi4iQ/sI3WTq8L7baYcD4wRZrd7dUNOoTOENsUg=

DB_HOST=localhost
DB_DATABASE='adshare'
DB_USERNAME='admin'
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=adsharevietnam@gmail.com
MAIL_PASSWORD=idoosepwaafpskg
MAIL_ENCRYPTION=tls
```{.language-php}

Bạn có thể tạo ra cho mỗi môi trường một file .env như kiểu .env.develope, .env.testing..., khi [kiểm thư ứng dụng bằng PHPUnit](http://allaravel.com/2017/03/20/cac-cong-cu-huu-ich-cho-debug-code-va-kiem-thu-trong-laravel/) bạn thêm tùy chọn --env=develope hoặc --env=testing để chạy kiểm thử các môi trường này. Trong các file cấu hình trong thư mục config bạn muốn lấy giá trị biến môi trường sử dụng cho thiết lập:

```{.language-php}
'debug' => env('APP_DEBUG', false),

Thiết lập cấu hình Cơ sở dữ liệu

Các thiết lập liên quan đến database được cài đặt trong config/database.php, trong này có sẵn template để bạn thiết lập kết nối đến các CSDL thông dụng như SQLite, mySQL, PostrgeSQL, SQL Server (Microsoft)... muốn kết nối đến loại CSDL nào bạn thay đổi trong phần

'default' => env('DB_CONNECTION', 'mysql'),

mặc định là kết nối đến CSDL mySQL và sau đó thay đổi phần thiết lập tham số kết nối đến CSDL tương ứng:

    'connections' => [
        'sqlite' => [
            'driver'   => 'sqlite',
            'database' => storage_path('database.sqlite'),
            'prefix'   => '',
        ],

        'mysql' => [
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'adshare',
            'username'  => 'admin',
            'password'  => '12345678',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

        'pgsql' => [
            'driver'   => 'pgsql',
            'host'     => env('DB_HOST', 'localhost'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',
        ],

Ví dụ ở trên là kết nối đến CSDL mySQL đến database name là adshare với username là admin và mật khẩu 12345678

Đặt tên ứng dụng

Thư mục app trong dự án Laravel mặc định có namespace là App, nếu muốn đổi tên namespace này bạn hãy đặt tên cho ứng dụng bằng lệnh:

php artisan app:name Ten_ung-dung
Application namespace set!
The compiled services file has been removed.

Bạn có thể thay Ten_ung_dung bằng tên ứng dụng của bạn để thiết lập cho namespace.

Chuyển trạng thái hệ thống

Trong quá trình vận hành hệ thống website có những lúc bạn cần thay đổi các thông số, thêm code cho các chức năng... bạn cần chuyển trạng thái hệ thống sang tạm ngừng phục vụ (maintain mode). Laravel cung cấp các câu lệnh giúp cho việc này trở lên đơn giản. Chuyển hệ thống sang trạng thái bảo trì

php artisan down
Application is now in maintenance mode.

Với câu lệnh này, khi truy nhập vào bất kỳ đường dẫn nào trong hệ thống website bạn đều nhận được màn hình Be right back như dưới đây (màn hình này có thể thay đổi tùy ý bằng cách chỉnh sửa resources/views/errors/503.blade.php).

Màn hình be right back trong Maintain mode

Chuyển hệ thống về trạng thái hoạt động bình thường Sử dụng câu lệnh sau để chuyển trạng thái về hoạt đông bình thường sau khi đã thiết lập lại các thông số hoặc thêm code chức năng...

php artisan up
Application is now live.

Khi đó bạn vào lại các trang trong hệ thống website sẽ thấy hoạt động trở lại.


CÁC BÀI VIẾT KHÁC

FirebirD

Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.

Các công cụ hữu ích cho debug code và kiểm thử trong Laravel

Laravel route định tuyến yêu cầu đến giao diện

8 Bình luận trong "Thiết lập cấu hình Laravel"

  1. Larva

    2 years ago

    Phản hồi
    Ôi mod ơi, thông tin AdShare public hết rồi kìa... :)
    1. Kiên Đặng

      2 years ago

      Phản hồi
      Hehe, hình ảnh chỉ có tính minh họa thôi bạn ơi
  2. cu tèo

    1 year ago

    Phản hồi
    cám ơn ad nhé
  3. Trương Chí Nhân

    1 year ago

    Phản hồi
    bạn troll à. làm gì có 'timezone' => 'Asia/Saigon', hihi
  4. võ văn long

    1 year ago

    Phản hồi
    ghahahaha asia/Saigon :))
  5. Trần Đức Lâm

    1 year ago

    Phản hồi
    Những bài viết của anh thật hữu ích! Chân thành cám ơn!!!
  6. Tú Nhi

    2 weeks ago

    Phản hồi

    Cho em hỏi làm sao để cấp quyền ghi cho storage và bootstrap/cache trên windows vậy ạ?

    1. FirebirD

      2 weeks ago

      Phản hồi

      Mình thấy trên Windows các bản cho máy cá nhân như Windows 7, Windows 10 thì mặc định các thư mục được tạo ra đã có quyền ghi. Còn với Windows server thì mình không rõ vì hiện tại chủ yếu là lúc phát triển trên Windows còn chạy thì toàn dùng Centos 7. Bạn có thể click chuột phải vào thư mục cần cấp quyền chọn Properties và nhấp vào tab Security xem phần Permission for Authenticated users. Với Linux thì có thể dùng lệnh 

      chmod 755 /var/www/laravel/storage

      Chúc may mắn.

Thêm bình luận