Menu

Saturday, November 11, 2017

[PHP - MQ] การติดตั้ง mqseries สำหรับ PHP บน Ubuntu
[PHP - MQ] How to Install mqseries for PHP on Ubuntu

เนื่องจากมีความจำเป็นต้องส่งข้อความไปยัง IBM MQ Server จากโปรแกรมที่พัฒนาด้วย Laravel framework ซึ่งเป็น PHP framework ทำให้ต้องใช้ mqseries เป็นตัวช่วยในการเชื่อมต่อและส่งผ่านข้อความไปยัง IBM MQ Server

ข้อสำคัญ mqseries สำหรับ PHP นี้ จะทำงานได้สมบูรณ์ก็ต่อเมื่อมีการติดตั้ง IBM MQ Client ไว้ภายในเครื่องด้วย

สมมติว่า ใช้ Homestead เป็น environment ในการพัฒนา และมี folder Project เป็น shared folder ใน Homestead

วิธีการติดตั้งก็จะเป็นตามข้างล่างนี้
  1. ดาวน์โหลด mqseries จาก http://pecl.php.net/package/mqseries เลือก 0.14.1 (0.14.2 มีปัญหา)
  2. เอาไฟล์ที่ดาวน์โหลดมา ไปไว้ใน folder Project/ibm
  3. เข้าไปในเครื่องของ Homestead ด้วยคำสั่ง vagrant ssh
  4. หลังจากเข้าไปในเครื่องแล้ว ให้รันคำสั่ง sudo su เพื่อเข้าใช้ในสิทธิ์ root
  5. ถ้ายังไม่เคย compile mqseries มาก่อน ให้รันคำสั่งดังนี้
    cd เข้า Project/ibm
    tar -zxvf mqseries-0.14.1.tgz
    cd mqseries-0.14.1
    phpize
    ./configure --with-libdir=lib64
    make
    
  6. สร้าง config file ของ mqseries ด้วยคำสั่งดังนี้
    cp modules/mqseries.so /usr/lib/php5/20131226
    
  7. สร้างไฟล์ /etc/php5/cli/conf.d/mqseries.ini และใส่ข้อความตามด้านล่างนี้แล้วบันทึก
    ; Enable mqseries extension module
    extension=mqseries.so
  8. ทำการ copy file ข้างต้นไปยัง /etc/php5/fpm/conf.d/ พร้อมแก้ไข permission ตามคำสั่งดังนี้
    cd /etc/php5
    cp cli/conf.d/mqseries.ini fpm/conf.d/
    cd /etc/php5/fpm/conf.d/
    chmod 777 mqseries.ini
    
  9. ทำการ restart service php5-fpm ตามคำสั่งดังนี้
    service php5-fpm restart
    
  10. ทดสอบการใช้งาน โดยลองรันคำสั่งดังนี้
    cd เข้า Project/ibm/mqseries-0.14.1/example
    php put.php