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).
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.