การติดตั้ง Oracle Instant Client เพื่อใช้งานกับ PHP บน CentOS 7

เนื่องด้วยระบบสารสนเทศของมหาวิทยาลัยศรีนครินทรวิโรฒหลายระบบงาน เบื้องหลังใช้ Oracle เป็นฐานข้อมูล และมีการใช้ PHP เป็นภาษาในการพัฒนาโปรแกรม

หลาย ๆ ครั้งมีการติดตั้ง Server ใหม่เพื่อใช้งานทำให้ต้องมีการติดตั้ง Oracle Instance Client เพื่อใช้งานร่วมกับ PHP และทุก ๆ ครั้งต้องอาศัย document ของ Oracle ที่ใช้งานค่อนข้างยาก ไม่เป็นปัจจุบัน ทำให้ต้องใช้เวลาเกินความจำเป็นในการติดตั้ง Oracle ให้ใช้งานได้กับ PHP

จึงได้ลำดับขั้นตอนการติดตั้ง Oracle Instant Client เพื่อใช้งานได้กับ PHP ไว้ ดังนี้

ติดตั้ง Oracle Instance Client และ SDK

ขั้นตอน 1

ดาวน์โหลด Oracle Instant Client and SDK จากเวปไซต์ของ Oracle (จำเป็นต้อง login ด้วย Oracle Account)

ปัจจุบันเวอร์ชันล่าสุด 18.5 (เม.ย. 2562)

(หากมีเวอร์ชันถัดไปให้เปลี่ยนจาก 18.5 เป็นเลขเวอร์ชันที่ใช้งาน)

https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

ไฟล์ที่ใช้

  • instantclient-basic-linux.x64-18.5.0.0.0dbru
  • instantclient-sdk-linux.x64-18.5.0.0.0dbru

ขั้นตอน 2

สร้างโฟลเดอร์เพิ่อเก็บ Oracle Instant Client บน server

mkdir /opt/oracle

อัพโหลดไฟล์ instance client ไปยังเครื่อง server

สามารถใช้โปรแกรม winscp หรือ scp command ได้ ตามนี้

scp  instantclient-basic-linux.x64-18.5.0.0.0dbru instantclient-sdk-linux.x64-18.5.0.0.0dbru root@192.168.1.1:/opt/oracle

ขั้นตอน 3

แตกไฟล์ด้วย unzip

unzip instantclient-basic-linux.x64-18.5.0.0.0dbru
unzip instantclient-sdk-linux.x64-18.5.0.0.0dbru

ขั้นตอน 4

เพิ่มโฟลเดอร์ไปยัง ldconfig

echo /opt/oracle/instantclient_18_5 > /etc/ld.so.conf.d/oracle-instantclient

ขั้นตอน 5

อัพเดต Dynamic LInker Run-Time Bindings

ldconfig

เสร็จสิ้นการติดตั้ง Oracle Instance Client

ติดตั้ง PHP OCI8

ติดตั้ง แพคเกจเบื้องต้น เพื่อใช้ติดตั้ง oci8

ขั้นตอน 1

run คำสั่ง ดังนี้

yum install curl-devel expat-devel perl-CPAN gettext-devel perl-devel openssl-devel zlib-devel

ขั้นตอน 2

ใช้ pecl เพิ่อติอตั้ง oci8

คำสั่ง

pecl channel-update pecl.php.net
pecl install oci8

เมื่อโปรแกรมถามถึงที่ติดตั้ง instance client ให้ระบุต่อไปนี้

instantclient,/opt/oracle/instantclient_18_5

ขั้นตอน 3

ตรวจสอบว่า php ติดตั้ง oci8 สำเร็จ

php -m | grep oci8


ผู้เขียน

ภัทรชัย ไชยมงคล
ฝ่ายเทคโนโลยีสารสนเทศเพื่อการศึกษา สำนักคอมพิวเตอร์
phattarachai@g.swu.ac.th