Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 6: การตั้งค่า .env และการจัดการการเชื่อมต่อฐานข้อมูล

ไฟล์ .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 โดยสามารถตั้งค่าดังนี้:

  1. DB_CONNECTION – ระบุประเภทของฐานข้อมูล เช่น mysql, pgsql, sqlite, หรือ sqlsrv
  2. DB_HOST – ที่อยู่ของเซิร์ฟเวอร์ฐานข้อมูล (เช่น 127.0.0.1 สำหรับเซิร์ฟเวอร์ในเครื่อง)
  3. DB_PORT – พอร์ตที่ใช้เชื่อมต่อฐานข้อมูล (ค่ามาตรฐานของ MySQL คือ 3306)
  4. DB_DATABASE – ชื่อฐานข้อมูล
  5. DB_USERNAME – ชื่อผู้ใช้สำหรับเชื่อมต่อฐานข้อมูล
  6. 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 ให้เหมาะสมกับสภาพแวดล้อมใหม่