Posts Tagged ‘xcache’

วิธีติดตั้ง XCache 3.2.0, PHP 5.6 บน CentOS 6.8 + DirectAdmin

วิธีติดตั้ง XCache 3.2.0 เพื่อใช้งานร่วมกับ PHP 5.6 สามารถทำได้ง่ายๆ โดยการดาวน์โหลด source code ของ XCache และนำมา compile เอง เสร็จเรียบร้อยจะต้องได้ไฟล์ xcache.so และเปิดใช้งานใน php โดยมีขั้นตอนดังต่อไปนี้

ให้ login เข้า vps ผ่าน commandline ดูได้จากนี้ การเข้าใช้งาน ssh ผ่าน commandline

ดาวน์โหลด source code ของ XCache 3.2.0

cd /opt/
wget https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
tar -xvf xcache-3.2.0.tar.gz
cd xcache-3.2.0

เริ่ม compile xCache

phpize
./configure --enable-xcache
make
make install

เมื่อเสร็จเรียบร้อย จะแสดง path ที่เก็บไฟล์ xcache.so ไว้ที่นี่ (php แต่ละเวอร์ชั่นจะมีที่อยู่ไม่เหมือนกัน ต้องดูให้ดีว่ามันอยู่ที่ path ไหน)
/usr/local/lib/php/extensions/no-debug-non-zts-20131226/

ดูว่ามีไฟล์ xcache.so จริงหรือไม่ โดยใช้คำสั่งนี้

ll /usr/local/lib/php/extensions/no-debug-non-zts-20131226/

ต่อไปให้เราเปิด xcache.so ใน php.ini แต่เราจะไม่แนะนำให้เข้าไปแก้ไขไฟล์ php.ini โดยตรง ให้ใส่ไว้ที่โฟลเดอร์ php.conf.d แทน
ก่อนอื่นต้องดูว่าไฟล์การตั้งค่าต่างๆของ php อยู่ที่ path ไหน โดยดูได้จากการใช้คำสั่งนี้

php --ini

จะเห็นว่าไฟล์ .ini จะสามารถไปวางไว้ที่ path นี้ได้ (/usr/local/lib/php.conf.d) และเราจะใส่ไฟล์ xcache.ini ไว้ในโฟลเดอร์นี้

vi /usr/local/lib/php.conf.d/xcache.ini

จากนั้นใส่ค่า config ต่างๆดังนี้ (เปลี่ยนค่า xcache.admin.user และ xcache.admin.pass ตามที่ต้องการ)

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
[xcache-common]
;; install as zend extension (recommended), normally "$extension_dir/xcache.so"
;; this version is not a Zend Extension, but PHP module, so we do not put zend_extension parameter here.
;;extension = xcache.so

[xcache.admin]
xcache.admin.auth = On
xcache.admin.user = "youradminuser"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = "youradminpass"

[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 60M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 3600
xcache.gc_interval = 300

; Same as aboves but for variable cache
; If you don't know for sure that you need this, you probably don’t
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300

; N/A for /dev/zero
xcache.readonly_protection = Off

xcache.mmap_path = "/dev/zero"

xcache.cacher = On
xcache.stat = On

เรียบร้อย ให้ restart httpd เพื่อให้ apache โหลดไฟล์ config ต่างๆ ใหม่

service httpd restart

ทดสอบว่า XCache เปิดการใช้งานเรียบร้อยแล้วหรือไม่

php -v

จะเห็นผลลัพธ์แสดงหน้าจอประมาณนี้

PHP 5.6.25 (cli) (built: Sep 7 2016 22:27:45)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo