투잡뛰는 개발 노동자

[php]การตั้งค่า CodeIgniter 4 บน Ubuntu

สร้าง: 2024-03-27

สร้าง: 2024-03-27 19:47

CodeIgniter 4.
มีโอกาสได้ทำโครงการใหม่ที่บริษัท หลังจากที่เข้าทำงานมาแล้ว เว็บเพจเดิมใช้ CodeIgniter 3 ดังนั้น ด้วยความอยากรู้อยากเห็นและคาดหวัง จึงตัดสินใจใช้ CodeIgniter 4

สิ่งแรกที่ต้องทำคือการตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนา เอกสารฉบับนี้สร้างขึ้นเพื่อบันทึกปัญหา (หรืออาจจะเรียกว่าการลองผิดลองถูกก็ได้) ที่พบเจอระหว่างการติดตั้ง CodeIgniter 4 บนเซิร์ฟเวอร์สำหรับการพัฒนา

[php]การตั้งค่า CodeIgniter 4 บน Ubuntu

ระบบปฏิบัติการของเซิร์ฟเวอร์พัฒนาได้ทดสอบบน Ubuntu 20.04.2


เนื่องจากได้ติดตั้ง Apache2 และ PHP เวอร์ชัน 7 ไว้เรียบร้อยแล้ว จึงดาวน์โหลดไฟล์โครงสร้างของ CodeIgniter 4 (ต่อไปนี้จะเรียกว่า CI4)


[php]การตั้งค่า CodeIgniter 4 บน Ubuntu


เข้าไปที่ URL ข้างต้น แล้วคลิกที่ CI4 Download เพื่อดาวน์โหลดไฟล์โครงสร้าง โดยทั่วไปแล้วจะต้องใช้ PHP เวอร์ชัน 7.3 ขึ้นไป

[php]การตั้งค่า CodeIgniter 4 บน Ubuntu


หลังจากแตกไฟล์แล้ว จะเห็นไฟล์ต่างๆ ตามภาพด้านบน เวอร์ชัน CI ที่ใช้ในการทดสอบคือ 4.1.3

ตอนนี้ให้อัพโหลดไฟล์โครงการที่ดาวน์โหลดมาไปยัง Apache2


[php]การตั้งค่า CodeIgniter 4 บน Ubuntu


เพื่อการทดสอบ ผมจึงเปลี่ยนชื่อโครงการเป็น ci4 แล้วอัพโหลด หลังจากอัพโหลดแล้ว ให้ตรวจสอบว่าทำงานได้ปกติหรือไม่โดยการเข้าไปที่ localhost (หรือที่อยู่) /public/index.php

[php]การตั้งค่า CodeIgniter 4 บน Ubuntu

พอเข้าไปปุ๊บ ก็เจอหน้าจอแสดงข้อผิดพลาดเลย

จริงๆ แล้วตรงนี้เป็นจุดเริ่มต้นของการลองผิดลองถูกเลยทีเดียว ในกรณีของผม เป็นข้อผิดพลาดที่เกิดจากสิทธิ์การเข้าถึงโฟลเดอร์และการที่ 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


[php]การตั้งค่า CodeIgniter 4 บน Ubuntu


เข้าไปที่ URL เดิมอีกครั้ง จะเห็นหน้าจอเริ่มต้นของ CI4 ที่แสดงผลออกมาอย่างถูกต้อง

พอมาเขียนสรุปดูแล้ว เนื้อหาทั้งหมดดูเหมือนจะไม่ใช่เรื่องยากอะไร แต่ตอนที่ตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนาครั้งแรกนั้น ใช้เวลาไปกับการค้นหาข้อมูลใน Google และการลองผิดลองถูกมากทีเดียว

เนื่องจากปกติแล้วจะทำงานกับเซิร์ฟเวอร์หลักเป็นส่วนใหญ่ จึงไม่มีโอกาสได้ตั้งค่าเซิร์ฟเวอร์สำหรับการพัฒนาเอง พอได้ลองทำดูจริงๆ ถึงแม้จะยาก แต่ก็ถือเป็นประสบการณ์ที่ดีและสนุกไปอีกแบบ







ความคิดเห็น0

แนะนำเครื่องมือ Rector สำหรับอัปเกรดเวอร์ชัน PHPบทความนี้จะแนะนำวิธีการใช้เครื่องมือ Rector ซึ่งช่วยในการอัปเกรดโค้ด PHP ไปยังเวอร์ชันที่ต้องการ เครื่องมือนี้รองรับโค้ด PHP ตั้งแต่เวอร์ชัน 5.3 ถึง 8.2 และสามารถใช้งานได้หลังจากติดตั้งผ่าน Composer
초록 기린
초록 기린
초록 기린
초록 기린

March 24, 2024

[บันทึกการสร้างเว็บไซต์หลายภาษา - วันที่ 33] การตั้งค่าเว็บไซต์เสร็จสมบูรณ์!สร้างเว็บไซต์หลายภาษาเสร็จสมบูรณ์ภายใน 33 วัน! แก้ปัญหาความล่าช้าในการแปลโดยการเปลี่ยนตำแหน่งเซิร์ฟเวอร์และตั้งค่าทุกอย่างเสร็จสมบูรณ์แล้ว ควรส่ง sitemap หลังจากตั้งค่าทุกอย่างเสร็จเรียบร้อยแล้ว
aghkuh1
aghkuh1
aghkuh1
aghkuh1

January 29, 2025

ประสบการณ์การมีส่วนร่วมโอเพนซอร์สบทความนี้แบ่งปันประสบการณ์การมีส่วนร่วมโอเพนซอร์ส ช่วยสร้างแรงบันดาลใจให้เอาชนะความกลัวและก้าวแรก เริ่มต้นจากการปรับปรุงเล็กๆ น้อยๆ แล้วค่อยๆ สร้างความมั่นใจและเติบโต
seungwon
seungwon
seungwon
seungwon

May 3, 2025

[บันทึกการสร้างเว็บไซต์หลายภาษา - วันที่ 21] เว็บไซต์หลายภาษาเสร็จสมบูรณ์! (3 ข้อคิด)วันที่ 16 มกราคม เว็บไซต์ 3 ภาษาเสร็จสมบูรณ์! รู้สึกได้ถึงความสำคัญของความเร็วของเซิร์ฟเวอร์และความยากลำบากในการดำเนินงานเว็บไซต์หลายภาษาอย่างแท้จริง แชร์ความยากลำบากในการรองรับ 49 ภาษาและกระบวนการเพิ่มประสิทธิภาพ
aghkuh1
aghkuh1
aghkuh1
aghkuh1

January 17, 2025

การรับ WordPress.comหลังจากสมัคร WordPress.com และประสบความสำเร็จในการสร้างเว็บไซต์ด้วยเวอร์ชันฟรี ฉันตัดสินใจพัฒนาทักษะการเขียนภาษาอังกฤษและญี่ปุ่น และได้เขียนบทความสองบทความ
지쇼쿠 바로코의 좌충우돌 이야기
지쇼쿠 바로코의 좌충우돌 이야기
지쇼쿠 바로코의 좌충우돌 이야기
지쇼쿠 바로코의 좌충우돌 이야기

August 17, 2025

การตั้งค่าหลักในการใช้ nginx เป็นเว็บเซิร์ฟเวอร์บทความนี้จะอธิบายวิธีการปรับแต่งประสิทธิภาพเว็บไซต์โดยใช้การตั้งค่าหลักของเว็บเซิร์ฟเวอร์ nginx เช่น การบีบอัด gzip, proxy_buffer, การตั้งค่า worker/http และ location block ควรทำการทดสอบประสิทธิภาพก่อนนำไปใช้งานจริง
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들
뚠뚠멍의 생각들

September 26, 2024