본문으로 건너뛰기

เนื้อหาภาษาไทย / 태국어 콘텐츠

시스템 가이드 검수 완료된 콘텐츠

การสร้างไฟล์ .env

บทความนี้อธิบายถึงวิธีการสร้างและใช้งานไฟล์ `.env` ซึ่งเป็นไฟล์ที่ใช้เก็บค่าคอนฟิกต่างๆ ของโปรเจกต์ PHP เช่น ข้อมูลการเชื่อมต่อฐานข้อมูล โดยเน้นที่รูปแบบการเขีย...

การสร้างไฟล์ .env

หลังจากที่เราติดตั้ง Dotenv ผ่าน Composer เรียบร้อยแล้ว ขั้นตอนต่อไปคือการสร้างไฟล์ .env ซึ่งเป็นไฟล์ที่เราจะใช้เก็บค่าคอนฟิกต่างๆ ของโปรเจกต์ของเรา เช่น ข้อมูลการเชื่อมต่อฐานข้อมูล, API Key, หรือค่าอื่นๆ ที่เราต้องการแยกออกจากโค้ดหลัก

รูปแบบของไฟล์ .env: KEY=VALUE

ไฟล์ .env มีรูปแบบที่เรียบง่าย คือ KEY=VALUE โดยที่:

  • KEY คือ ชื่อของตัวแปร Environment Variable
  • VALUE คือ ค่าของตัวแปรนั้น

ตัวอย่างเช่น:

DB_HOST=localhost
DB_DATABASE=mydatabase
DB_USERNAME=myuser
DB_PASSWORD=mypassword
API_KEY=abcdefg1234567
APP_DEBUG=true

แต่ละบรรทัดในไฟล์ .env จะกำหนดค่าให้กับ Environment Variable หนึ่งตัว

การตั้งชื่อตัวแปร (Naming Conventions)

เพื่อให้ไฟล์ .env อ่านง่ายและเป็นระเบียบ ควรปฏิบัติตามหลักการตั้งชื่อตัวแปรดังนี้:

  • ใช้ตัวพิมพ์ใหญ่ทั้งหมด: ชื่อตัวแปรควรเป็นตัวพิมพ์ใหญ่ทั้งหมด เช่น DB_HOST แทนที่จะเป็น db_host หรือ DbHost
  • ใช้เครื่องหมาย underscore (_) คั่นคำ: หากชื่อตัวแปรประกอบด้วยหลายคำ ให้ใช้เครื่องหมาย underscore (_) คั่นระหว่างคำ เช่น API_KEY แทนที่จะเป็น APIKEY
  • หลีกเลี่ยงการใช้ space: ห้ามใช้ space ในชื่อตัวแปร
  • สื่อความหมาย: ชื่อตัวแปรควรสื่อความหมายถึงค่าที่เก็บอยู่ เพื่อให้เข้าใจได้ง่ายว่าตัวแปรนั้นใช้ทำอะไร

การจัดเก็บค่า (Storing Values)

ค่าที่เก็บในไฟล์ .env สามารถเป็นได้ทั้ง String, Number, Boolean หรือแม้กระทั่ง array (ในรูปแบบ string ที่ต้อง parse เอาเอง)

  • String: ค่าที่เป็นข้อความ สามารถใส่ใน double quotes (") หรือ single quotes (') ก็ได้ แต่ถ้าค่ามี space หรืออักขระพิเศษ ควรใส่ quotes เพื่อป้องกันปัญหา
  • Number: ค่าที่เป็นตัวเลข ไม่จำเป็นต้องใส่ quotes
  • Boolean: ค่าที่เป็น true/false สามารถใช้ true, false, 1 หรือ 0 ก็ได้

ตัวอย่าง:

APP_NAME="My Awesome App"
APP_ENV=development
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
SESSION_DRIVER=file
SESSION_LIFETIME=120

ข้อควรระวัง:

  • อย่า commit ไฟล์ .env ขึ้น Git repository: ไฟล์ .env มักจะมีข้อมูลสำคัญ เช่น รหัสผ่าน หรือ API Key ซึ่งไม่ควรเปิดเผยต่อสาธารณะ ดังนั้นควรเพิ่มไฟล์ .env ใน .gitignore เพื่อป้องกันการ commit ขึ้น Git
  • อย่าใส่ค่า default ในไฟล์ .env: ไฟล์ .env ควรมีเฉพาะค่าที่แตกต่างจากค่า default ที่กำหนดไว้ในโค้ด หากไม่มีค่าที่แตกต่าง ก็ไม่จำเป็นต้องกำหนดในไฟล์ .env

ขั้นตอนการสร้างไฟล์ .env

  1. สร้างไฟล์ชื่อ .env ใน root directory ของโปรเจกต์ PHP ของคุณ
  2. เปิดไฟล์ .env ด้วย text editor ที่คุณถนัด
  3. กำหนดค่า Environment Variables ตามรูปแบบ KEY=VALUE โดยแต่ละบรรทัดคือหนึ่งตัวแปร
  4. บันทึกไฟล์ .env

ตัวอย่างการสร้างไฟล์ .env:

  1. สร้างไฟล์ชื่อ .env ใน directory เดียวกับไฟล์ composer.json ของคุณ
  2. เปิดไฟล์ .env ด้วย text editor เช่น VS Code, Sublime Text, หรือ Notepad++
  3. เพิ่ม code ด้านล่างในไฟล์ .env
APP_NAME="My Application"
APP_ENV=local
APP_DEBUG=true
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_user
DB_PASSWORD=my_password

กรณีใช้งานจริง

สมมติว่าเรามีโปรเจกต์ PHP ที่ต้องเชื่อมต่อกับฐานข้อมูล MySQL เราสามารถเก็บข้อมูลการเชื่อมต่อฐานข้อมูลไว้ในไฟล์ .env ได้ดังนี้:

DB_HOST=localhost
DB_DATABASE=mydatabase
DB_USERNAME=myuser
DB_PASSWORD=mypassword

จากนั้นในโค้ด PHP เราสามารถดึงค่าเหล่านี้มาใช้ได้ โดยไม่ต้อง hardcode ข้อมูลการเชื่อมต่อฐานข้อมูลไว้ในโค้ด

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

  • ลืมใส่ไฟล์ .env ใน .gitignore: ตรวจสอบให้แน่ใจว่าไฟล์ .env ถูกเพิ่มใน .gitignore เพื่อป้องกันการ commit ขึ้น Git
  • ตั้งชื่อตัวแปรไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าชื่อตัวแปรเป็นตัวพิมพ์ใหญ่ทั้งหมด และใช้เครื่องหมาย underscore (_) คั่นคำ
  • ไม่ได้โหลดไฟล์ .env: ตรวจสอบให้แน่ใจว่าได้โหลดไฟล์ .env ด้วย Dotenv ก่อนที่จะเข้าถึงค่า Environment Variables
  • ค่า Environment Variables ไม่ถูกต้อง: ตรวจสอบให้แน่ใจว่าค่าที่กำหนดในไฟล์ .env ถูกต้องและตรงกับที่ต้องการ
  • Error: The file .env does not exist: ตรวจสอบให้แน่ใจว่าคุณได้สร้างไฟล์ .env ใน directory ที่ถูกต้อง (root directory ของโปรเจ็กต์)

ในบทความถัดไป เราจะมาเรียนรู้วิธีการโหลดไฟล์ .env ด้วย Dotenv และวิธีการเข้าถึงค่า Environment Variables ที่เรากำหนดไว้

Office.in.th Custom Service

이 구조를 바탕으로 시스템을 개발하거나 맞춤 변경하고 싶으신가요?

Office.in.th는 엔터프라이즈 웹 애플리케이션, API 연동, 공공/민간 업무 관리 시스템을 설계·개발하며 장기 지원을 제공합니다.

소프트웨어 개발 서비스 보기