การตั้งค่าสภาพแวดล้อมระดับโปรเจกต์ด้วยไฟล์ .servbay.config
ภาพรวม
ServBay คือเครื่องมือสําหรับสภาพแวดล้อมการพัฒนาเว็บแบบโลคอลที่ทรงพลัง ซึ่งช่วยให้นักพัฒนาสามารถกำหนดสภาพแวดล้อมแยกแต่ละโปรเจกต์ได้ ฟีเจอร์สำคัญคือสามารถสร้างไฟล์ชื่อ .servbay.config
ในแต่ละไดเรกทอรีของโปรเจกต์
ไฟล์ .servbay.config
ช่วยให้คุณระบุเวอร์ชันของภาษา (เช่น PHP, Node.js, Python, Go, Java ฯลฯ) และตั้งค่าตัวจัดการแพ็คเกจของ Node.js (เช่น NPM, Yarn) สำหรับแต่ละโปรเจกต์ได้อย่างง่ายดาย รวมถึงตำแหน่งแคชและแอดเดรสรีจีสทรี การควบคุมระดับโปรเจกต์นี้ช่วยเพิ่มประสิทธิภาพการทำงาน ลดปัญหาเวอร์ชันชนกัน และรับรองว่าแต่ละโปรเจกต์จะใช้งานในสภาพแวดล้อมที่เหมาะสมที่สุด
วิธีการทำงานของไฟล์ .servbay.config
เมื่อ ServBay เปิดหรือรีโหลดเว็บไซต์ จะตรวจสอบว่าในโฟลเดอร์รากของเว็บไซต์มีไฟล์ .servbay.config
หรือไม่ ถ้ามี ServBay จะอ่านการตั้งค่าในไฟล์นี้แล้วนำไปใช้กำหนดสภาพแวดล้อมของเว็บไซต์นั้น การตั้งค่าแบบนี้จะมีผลเหนือกว่าการตั้งค่าระดับโกลบอลของ ServBay ในกรณีที่ไม่มีไฟล์นี้ หรือไม่มีระบุค่าบางอย่าง ServBay จะใช้ค่าเริ่มต้นจากการตั้งค่าโกลบอลแทน
ด้วยกลไกนี้ จึงสามารถสลับไปมาระหว่างโปรเจกต์ได้อย่างไร้รอยต่อ—แต่ละโปรเจกต์พกสภาพแวดล้อมของตัวเองแบบอิสระ
วิธีสร้างและตั้งค่าไฟล์ .servbay.config
วิธีสร้างและตั้งค่าไฟล์ .servbay.config
ทำได้อย่างง่ายดาย
ตำแหน่งไฟล์
ให้สร้างไฟล์ชื่อ .servbay.config
ไว้ในโฟลเดอร์รากของโปรเจกต์ โดยปกติแล้ว โฟลเดอร์โปรเจกต์จะอยู่ในไดเรกทอรีเว็บไซต์ของ ServBay เช่น /Applications/ServBay/www/ชื่อโปรเจกต์ของคุณ/
รูปแบบการตั้งค่า
ไฟล์ .servbay.config
ใช้รูปแบบ KEY=VALUE
ง่ายๆ สำหรับแต่ละบรรทัด สามารถเขียนคอมเมนต์ด้วยเครื่องหมาย #
เพื่ออธิบายแต่ละบรรทัดได้
ตัวอย่างการตั้งค่า
ด้านล่างคือตัวอย่างไฟล์ .servbay.config
แสดงวิธีกำหนดเวอร์ชันและตั้งค่าตัวจัดการแพ็คเกจต่างๆ:
bash
# ตัวอย่างไฟล์ .servbay.config
# กำหนดเวอร์ชัน PHP ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
PHP_VERSION=8.5
# กำหนดเวอร์ชัน Node.js ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
NODE_VERSION=20
# ตั้งค่าที่อยู่ registry ของ Yarn เพื่อเพิ่มความเร็ว
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# ตั้งค่าที่อยู่ registry ของ NPM เพื่อเพิ่มความเร็ว
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# กำหนดไดเรกทอรีแคชของ NPM (เส้นทางนี้สัมพันธ์กับไดเรกทอรีติดตั้งของ ServBay)
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# กำหนดไดเรกทอรีแคชของ Yarn (เส้นทางนี้สัมพันธ์กับไดเรกทอรีติดตั้งของ ServBay)
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# กำหนดเวอร์ชัน Ruby ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
RUBY_VERSION=2.7
# กำหนดเวอร์ชัน Java (OpenJDK) ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
JAVA_VERSION=21
# กำหนดเวอร์ชัน Python ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
PYTHON_VERSION=3.11
# กำหนดเวอร์ชัน .NET ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
DOTNET_VERSION=5.0
# กำหนดเวอร์ชัน Go ที่ใช้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งใน ServBay แล้ว
GO_VERSION=1.12
# ตั้งค่า Go module proxy server เพื่อเร่งความเร็วในการดาวน์โหลดโมดูล
GOPROXY=https://goproxy.cn,direct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
หมายเหตุ: หมายเลขเวอร์ชันต่างๆ (PHP_VERSION=8.5
, NODE_VERSION=20
ฯลฯ) ในตัวอย่างนี้เป็นเพียงตัวอย่างเท่านั้น คุณควรกรอกค่าจริงตามความต้องการของโปรเจกต์และเวอร์ชันที่ติดตั้งและรองรับบน ServBay หากระบุเวอร์ชันที่ไม่ได้ติดตั้งไว้ อาจเกิดข้อผิดพลาดหรือกลับไปใช้เวอร์ชันเริ่มต้นได้
ประเภทของการตั้งค่าที่รองรับ
จากตัวอย่างด้านบน ในไฟล์ .servbay.config
รองรับประเภทการตั้งค่าหลักๆ ดังนี้:
การระบุเวอร์ชันของสภาพแวดล้อม:
PHP_VERSION
: กำหนดเวอร์ชัน PHPNODE_VERSION
: กำหนดเวอร์ชัน Node.jsRUBY_VERSION
: กำหนดเวอร์ชัน RubyJAVA_VERSION
: กำหนดเวอร์ชัน Java (OpenJDK)PYTHON_VERSION
: กำหนดเวอร์ชัน PythonDOTNET_VERSION
: กำหนดเวอร์ชัน .NETGO_VERSION
: กำหนดเวอร์ชัน Go- (โปรดอ่านคู่มือหรือเช็คชื่อชี้ตัวแปรจากหน้าต่างแอปพลิเคชัน ServBay เพื่อดูรายละเอียดสภาพแวดล้อมและ key ที่รองรับ)
การตั้งค่าตัวจัดการแพ็คเกจ (Node.js):
YARN_CONFIG_REGISTRY
: ที่อยู่ Yarn registryNPM_CONFIG_REGISTRY
: ที่อยู่ NPM registryNPM_CONFIG_CACHE
: ไดเรกทอรีแคชของ NPMYARN_CONFIG_CACHE
: ไดเรกทอรีแคชของ Yarn
การตั้งค่า Go module proxy:
GOPROXY
: ที่อยู่ Go module proxy server
การตั้งค่าเหล่านี้ช่วยให้แต่ละโปรเจกต์มีสภาพแวดล้อมแยกอิสระโดยไม่ยุ่งเกี่ยวกัน
การใช้งานจริงและการตรวจสอบผล
หลังจากตั้งค่าไฟล์ .servbay.config
แล้ว ให้แน่ใจว่า ServBay โหลดโปรเจกต์ของคุณไว้แล้ว (โปรเจกต์ควรแสดงอยู่ในรายการ "เว็บไซต์" ของแอปฯ ServBay) ServBay จะอ่านค่าจากไฟล์นี้ทุกครั้งที่โหลดหรือรีโหลดเว็บไซต์
วิธีตรวจสอบว่าไฟล์ .servbay.config
มีผลกับโปรเจกต์:
ดูบนแอปฯ ServBay: ในหน้าเว็บไซต์หรือรายละเอียดต่างๆ อาจแสดงเวอร์ชันของสภาพแวดล้อมที่ใช้งาน
ตรวจสอบผ่าน Terminal: เปิด Terminal บน ServBay และเปลี่ยน directory ไปยังโฟลเดอร์โปรเจกต์ จากนั้นรันคำสั่งตรวจสอบเวอร์ชัน เช่น:
- ตรวจสอบเวอร์ชัน PHP:
php -v
- ตรวจสอบเวอร์ชัน Node.js:
node -v
- ตรวจสอบเวอร์ชัน Yarn:
yarn -v
- ตรวจสอบเวอร์ชัน NPM:
npm -v
- ตรวจสอบเวอร์ชัน Python:
python -V
หรือpython3 -V
- ตรวจสอบเวอร์ชัน Go:
go version
- ตรวจสอบเวอร์ชัน Java:
java -version
- ตรวจสอบเวอร์ชัน .NET:
dotnet --version
- ตรวจสอบเวอร์ชัน Ruby:
ruby -v
ตรวจสอบว่าเวอร์ชันที่แสดงตรงกับที่ระบุในไฟล์.servbay.config
หรือไม่
- ตรวจสอบเวอร์ชัน PHP:
ตรวจสอบผ่านหน้าเว็บ (เหมาะกับ PHP): สร้างไฟล์ PHP ชื่อ
info.php
ในโฟลเดอร์โปรเจกต์ แล้วใส่เนื้อหา<?php phpinfo(); ?>
จากนั้นเปิดผ่านเบราว์เซอร์เช่นhttp://your-project.servbay.demo/info.php
แล้วตรวจสอบในหน้าผลลัพธ์ phpinfo ว่าเป็นเวอร์ชันที่คุณกำหนดจากไฟล์.servbay.config
หรือไม่
ด้านล่างคือตัวอย่างหน้าจอจาก ServBay ที่แสดงผลการตั้งค่าระดับโปรเจกต์:
(โปรดดูผลลัพธ์จริงจากการใช้งาน ServBay ของคุณเพื่อยืนยันการตั้งค่า)
ข้อควรระวัง
- ชื่อไฟล์ต้องเป็น
.servbay.config
เป๊ะ ห้ามสะกดผิด - ต้องวางไฟล์ไว้ที่โฟลเดอร์รากของโปรเจกต์เท่านั้น
- เวอร์ชันที่ระบุจะต้องติดตั้งและรองรับใน ServBay แล้ว
- การตั้งค่าต้องแยกบรรทัดละ 1
KEY=VALUE
- การพิมพ์ผิดหรือไวยากรณ์ผิด อาจทำให้ไฟล์ไม่ถูกอ่าน หรือการตั้งค่าใช้งานไม่ได้บางส่วน
- การตั้งค่าใน
.servbay.config
จะ override การตั้งค่าระดับโกลบอลบน ServBay และใช้ได้กับโปรเจกต์นั้นเท่านั้น
คำถามที่พบบ่อย (FAQ)
ถาม: ถ้าโฟลเดอร์โปรเจกต์ไม่มีไฟล์ .servbay.config
จะเกิดอะไรขึ้น?
ตอบ: ServBay จะใช้ค่าการตั้งค่าสภาพแวดล้อมโกลบอลที่ตั้งไว้ในแอปพลิเคชันโดยอัตโนมัติ
ถาม: ถ้าตั้งค่าเวอร์ชันที่ไม่ได้ติดตั้งใน ServBay ไว้ในไฟล์ .servbay.config
จะเป็นอย่างไร?
ตอบ: ServBay จะแจ้งเตือนข้อผิดพลาด การทำงานจริงขึ้นอยู่กับเวอร์ชันและการตั้งค่า ServBay คุณควรติดตั้งเวอร์ชันที่ต้องการก่อนเท่านั้น
ถาม: หลังจากแก้ไขไฟล์ .servbay.config
ต้องรีสตาร์ท ServBay หรือไม่?
ตอบ: โดยปกติไม่ต้องรีสตาร์ทแอปฯ ใหม่ทั้งตัว แค่รีโหลดหรือหยุดแล้วสตาร์ทเว็บไซต์ที่ได้รับผลกระทบใหม่ในแอปฯ ServBay ก็พอ
ถาม: ค่าการตั้งค่าในไฟล์ .servbay.config
จะมีผลกับโปรเจกต์อื่นหรือไม่?
ตอบ: ไม่ส่งผลกับโปรเจกต์อื่น การตั้งค่าไฟล์นี้มีผลเฉพาะในโฟลเดอร์เว็บไซต์ของโปรเจกต์นั้นเท่านั้น
สรุป
ไฟล์ .servbay.config
ช่วยให้นักพัฒนาควบคุมสภาพแวดล้อมการพัฒนาของแต่ละโปรเจกต์ได้อย่างอิสระ ไม่ว่าจะเป็นโปรเจกต์เก่าที่ต้องใช้เวอร์ชันเฉพาะ หรือโปรเจกต์ใหม่ที่ใช้เทคโนโลยีล่าสุด ก็สามารถสลับสภาพแวดล้อมและแยกการทำงานได้รวดเร็ว ช่วยเพิ่มประสิทธิภาพและความยืดหยุ่นของสภาพแวดล้อมโลคอลให้มากขึ้น ใช้ฟีเจอร์นี้เพื่อทำให้การพัฒนาของคุณง่ายขึ้น และมี workflow ที่ราบรื่นกว่าเดิม