หัวข้อ
- #การติดตั้ง php 익스텐션
- #การตั้งค่าสภาพแวดล้อมเซิร์ฟเวอร์พัฒนา
- #หน้าจอเริ่มต้น CI4
- #Apache2
- #Codeigniter 4
สร้าง: 2024-03-27
สร้าง: 2024-03-27 19:47
CodeIgniter 4.
มีโอกาสได้ทำโครงการใหม่ที่บริษัท หลังจากที่เข้าทำงานมาแล้ว เว็บเพจเดิมใช้ CodeIgniter 3 ดังนั้น ด้วยความอยากรู้อยากเห็นและคาดหวัง จึงตัดสินใจใช้ CodeIgniter 4
สิ่งแรกที่ต้องทำคือการตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนา เอกสารฉบับนี้สร้างขึ้นเพื่อบันทึกปัญหา (หรืออาจจะเรียกว่าการลองผิดลองถูกก็ได้) ที่พบเจอระหว่างการติดตั้ง CodeIgniter 4 บนเซิร์ฟเวอร์สำหรับการพัฒนา
ระบบปฏิบัติการของเซิร์ฟเวอร์พัฒนาได้ทดสอบบน Ubuntu 20.04.2
เนื่องจากได้ติดตั้ง Apache2 และ PHP เวอร์ชัน 7 ไว้เรียบร้อยแล้ว จึงดาวน์โหลดไฟล์โครงสร้างของ CodeIgniter 4 (ต่อไปนี้จะเรียกว่า CI4)
เข้าไปที่ URL ข้างต้น แล้วคลิกที่ CI4 Download เพื่อดาวน์โหลดไฟล์โครงสร้าง โดยทั่วไปแล้วจะต้องใช้ PHP เวอร์ชัน 7.3 ขึ้นไป
หลังจากแตกไฟล์แล้ว จะเห็นไฟล์ต่างๆ ตามภาพด้านบน เวอร์ชัน CI ที่ใช้ในการทดสอบคือ 4.1.3
ตอนนี้ให้อัพโหลดไฟล์โครงการที่ดาวน์โหลดมาไปยัง Apache2
เพื่อการทดสอบ ผมจึงเปลี่ยนชื่อโครงการเป็น ci4 แล้วอัพโหลด หลังจากอัพโหลดแล้ว ให้ตรวจสอบว่าทำงานได้ปกติหรือไม่โดยการเข้าไปที่ localhost (หรือที่อยู่) /public/index.php
พอเข้าไปปุ๊บ ก็เจอหน้าจอแสดงข้อผิดพลาดเลย
จริงๆ แล้วตรงนี้เป็นจุดเริ่มต้นของการลองผิดลองถูกเลยทีเดียว ในกรณีของผม เป็นข้อผิดพลาดที่เกิดจากสิทธิ์การเข้าถึงโฟลเดอร์และการที่ PHP Extension ยังไม่ถูกติดตั้ง ดังนั้น ขั้นแรกให้เปลี่ยนสิทธิ์การเข้าถึงของโฟลเดอร์ /writable ในไฟล์โครงการก่อน
sudo chmod -R 777 writable
ขั้นตอนที่สอง ต้องติดตั้ง PHP Extension ที่จำเป็น ซึ่ง Extension ที่จำเป็น ได้แก่ curl, intl, mbstring, xml ทั้ง 4 ตัว ในบางกรณี เซิร์ฟเวอร์ที่ใช้งานอยู่ อาจติดตั้งไว้แล้ว แต่เนื่องจากเป็นการตั้งค่าเซิร์ฟเวอร์ครั้งแรก จึงต้องติดตั้งทีละตัว
sudo apt-get install php-curl
sudo apt-get install php-intl
sudo apt-get install php-mbstring
sudo apt-get install php-xml
รันคำสั่งข้างต้นทีละคำสั่งเพื่อติดตั้ง Extension ที่ต้องการ
ขั้นตอนสุดท้าย ต้องเอาเครื่องหมาย ; ออกจากส่วนของ crul และ intl Extension ในไฟล์ php.ini
sudo nano /etc/php/7.4/apache2/php.ini
ตำแหน่งของไฟล์ php.ini อาจแตกต่างกันไปขึ้นอยู่กับสภาพแวดล้อมของเซิร์ฟเวอร์ ให้รันคำสั่งข้างต้นเพื่อเข้าสู่โหมดแก้ไขไฟล์ php.ini
;extension=bz2
extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
เลื่อนดูไฟล์ php.ini ลงมาเรื่อยๆ จนเจอส่วนที่แสดงข้างต้น แล้วลบเครื่องหมาย ; ออกจากส่วนของ curl และ intl จากนั้นกด Cntl + x เพื่อบันทึกและออกจากไฟล์
หลังจากเปลี่ยนแปลงการตั้งค่าทั้งหมดแล้ว ให้รีสตาร์ท Apache
sudo service apache2 restart
เข้าไปที่ URL เดิมอีกครั้ง จะเห็นหน้าจอเริ่มต้นของ CI4 ที่แสดงผลออกมาอย่างถูกต้อง
พอมาเขียนสรุปดูแล้ว เนื้อหาทั้งหมดดูเหมือนจะไม่ใช่เรื่องยากอะไร แต่ตอนที่ตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนาครั้งแรกนั้น ใช้เวลาไปกับการค้นหาข้อมูลใน Google และการลองผิดลองถูกมากทีเดียว
เนื่องจากปกติแล้วจะทำงานกับเซิร์ฟเวอร์หลักเป็นส่วนใหญ่ จึงไม่มีโอกาสได้ตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนาเอง พอได้ลองทำดูจริงๆ ถึงแม้จะยาก แต่ก็ถือเป็นประสบการณ์ที่ดีและสนุกไปอีกแบบ
ความคิดเห็น0