ไฟล์ .env
ใน Laravel ใช้สำหรับการตั้งค่าต่างๆ ของแอปพลิเคชัน รวมถึงการเชื่อมต่อฐานข้อมูล ซึ่งจะช่วยให้การจัดการค่าคอนฟิกของระบบเป็นเรื่องง่ายและปลอดภัยมากขึ้น ในบทนี้เราจะทำความเข้าใจการตั้งค่าฐานข้อมูลในไฟล์ .env
และวิธีเชื่อมต่อฐานข้อมูลใน Laravel
การใช้งานไฟล์ .env
ไฟล์ .env
เป็นที่เก็บตัวแปรแวดล้อม (environment variables) ซึ่งใช้ตั้งค่าต่างๆ ที่เปลี่ยนแปลงได้โดยไม่ต้องแก้ไขโค้ดโปรแกรม เช่น การเชื่อมต่อฐานข้อมูล, ค่าคอนฟิก API และค่าอื่นๆ ที่อาจเปลี่ยนแปลงตามสภาพแวดล้อมการทำงาน (development, staging, production)
การตั้งค่าพื้นฐานในไฟล์ .env
ตัวอย่างเนื้อหาในไฟล์ .env
:
APP_NAME=LaravelApp
APP_ENV=local
APP_KEY=base64:YwqaQ7zKZm9EaE9X5Lk8JvY7Wj2Y8kfp+AxQ==
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp_database
DB_USERNAME=root
DB_PASSWORD=password123
การตั้งค่าและการเชื่อมต่อฐานข้อมูล
ใน Laravel การตั้งค่าฐานข้อมูลจะอยู่ในไฟล์ .env
ส่วนใหญ่จะใช้การเชื่อมต่อฐานข้อมูลประเภท MySQL
, PostgreSQL
, SQLite
, หรือ SQL Server
โดยสามารถตั้งค่าดังนี้:
- DB_CONNECTION – ระบุประเภทของฐานข้อมูล เช่น
mysql
,pgsql
,sqlite
, หรือsqlsrv
- DB_HOST – ที่อยู่ของเซิร์ฟเวอร์ฐานข้อมูล (เช่น
127.0.0.1
สำหรับเซิร์ฟเวอร์ในเครื่อง) - DB_PORT – พอร์ตที่ใช้เชื่อมต่อฐานข้อมูล (ค่ามาตรฐานของ MySQL คือ
3306
) - DB_DATABASE – ชื่อฐานข้อมูล
- DB_USERNAME – ชื่อผู้ใช้สำหรับเชื่อมต่อฐานข้อมูล
- DB_PASSWORD – รหัสผ่านของฐานข้อมูล
ตัวอย่างการตั้งค่าฐานข้อมูล MySQL ใน .env
สมมติว่าคุณมีฐานข้อมูล MySQL ที่ต้องการเชื่อมต่อกับแอป Laravel:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp_database
DB_USERNAME=myuser
DB_PASSWORD=mypassword
หลังจากตั้งค่า .env
แล้ว คำสั่งทั้งหมดที่ใช้กับฐานข้อมูลใน Laravel จะทำงานตามค่าที่กำหนดในไฟล์นี้
การตรวจสอบการเชื่อมต่อฐานข้อมูล
เมื่อกำหนดค่าเสร็จเรียบร้อย สามารถตรวจสอบการเชื่อมต่อกับฐานข้อมูลโดยการใช้ Artisan command:
php artisan migrate
คำสั่งนี้จะสร้างตารางพื้นฐานในฐานข้อมูลตามที่กำหนดไว้ในไฟล์ migration หากไม่มีข้อผิดพลาด แสดงว่าการเชื่อมต่อสำเร็จ
การนำไปใช้งาน
การตั้งค่าฐานข้อมูลใน .env
ช่วยให้นักพัฒนาสามารถปรับเปลี่ยนการเชื่อมต่อฐานข้อมูลได้ง่ายและปลอดภัย นอกจากนี้ยังช่วยให้การโยกย้ายแอปพลิเคชันไปยังเซิร์ฟเวอร์อื่นทำได้รวดเร็วโดยไม่ต้องแก้ไขโค้ดหลัก เพียงแก้ไขค่าคอนฟิกใน .env
ให้เหมาะสมกับสภาพแวดล้อมใหม่