[cPanel] Cài đặt Zend Opcache cho PHP 5.3 và 5.4 trên cPanel/WHM

Cài đặt Zend Opcache cho PHP 5.3 và 5.4 trên cPanel/WHM

 

Chào các bạn.
 
Bài hướng dẫn hôm nay mình sẽ hướng dẫn các bạn cài đặt PHP Extension Zend Opcache dùng để cache các file .php đã được compile sang mã máy để chạy. Opcache là gì ? thì mình sẽ có 1 bài giải thích chi tiết sau.

 

Do ZendOpcache từ phiên bản PHP 5.5 trở lên mới được built-in trong source php 5.5, nên không mặc định php 5.3 và 5.4 sẽ không có option extension này đi kèm, vậy mình sẽ hướng dẫn các bạn cài đặt Zend Opcache thông qua việc cài đặt trên terminal SSH.

 

Các bước cài đặt như sau :

1. Login vào server/VPS cPanel bằng SSH

2. Download và cài đặt ZendOpcache

# cd /usr/local/src
# wget http://pecl.php.net/get/ZendOpcache
# tar xvfz ZendOpcache
# cd zendopcache-7.0.5/
# phpize
– Tiến hành recompile
# whereis php-config
php-config: /usr/local/bin/php-config

# pwd
/usr/local/src/zendopcache-7.0.5

# ./configure --with-php-config=/usr/local/bin/php-config
# make && make install
– Sau khi compile xong sẽ hiện ra thông tin và đường dẫn của extension OpcacheZend.
....
....
Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20100525/

# ll /usr/local/lib/php/extensions/no-debug-non-zts-20100525/
total 4240
drwxr-xr-x. 2 root root    4096 Jan 15 13:27 ./
drwxr-xr-x. 3 root root    4096 Aug 16 02:33 ../
-rwxr-xr-x. 1 root root  539632 Jan 15 13:27 opcache.so*
-rwxr-xr-x. 1 root root  263681 Aug 16 08:43 pdo_mysql.so*
-rwxr-xr-x. 1 root root  345868 Aug 16 08:43 pdo.so*
-rwxr-xr-x. 1 root root 3178182 Aug 16 08:43 pdo_sqlite.so*

 

3. Cấu hình kích hoạt tính năng ZendOpcache

– Ghi nhớ đường dẫn đến file extension opcache.so. Vd: /usr/local/lib/php/extensions/no-debug-non-zts-20100525/opcache.so
– Tiến hành thay đổi cấu hình php.ini, bằng cách thêm nội dung sau vào cuối file cấu hình php.ini . Phần giải thích các giá trị cấu hình Opcache sẽ được đi chi tiết ở phần khác.
Lưu ý :
+ Giá trị accelerated_files, phải tính tổng các file .php trên các source code người dùng để có thể đưa ra con số tương đối phù hợp. Cách tính có thể dùng lệnh như sau :
# find /home/ -type f -iname “*.php" | wc -l

+ Còn giá trị memory_consumption, sau khi tính toán số lượng file, có thể quy hoạch bộ nhớ giá trị SharedMemory cho phù hợp hơn. Mình để giá trị 128 là mặc định, tuy nhiên không nên để cao nếu RAM người dùng thấp.
# php -i | grep "php.ini"
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini

# vi /usr/local/lib/php.ini
[OPCACHE]
zend_extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525/opcache.so"
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=5000
opcache.max_wasted_percentage=5
opcache.validate_timestamps=1
opcache.revalidate_freq=120
opcache.revalidate_path=0
opcache.fast_shutdown=1

 

4. Nếu phần cấu hình chung, không được load thì do cPanel tách riêng việc cấu hình cho từng user domain với các file php.ini riêng.
– Ta thay đổi như sau, thêm nội dung cấu hình opcache trên vào file php.ini của từng user :
# vi /home//public_html/php.ini
[OPCACHE]
zend_extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525/opcache.so"
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=5000
opcache.max_wasted_percentage=5
opcache.validate_timestamps=1
opcache.revalidate_freq=120
opcache.revalidate_path=0
opcache.fast_shutdown=1

 

5. Restart dịch vụ Apache và kiểm tra.
– Restart dịch vụ Apache
# /etc/init.d/httpd restart
# php -v
PHP 5.4.44 (cli) (built: Aug 16 2015 08:42:48)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
      with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies
– Hoặc bạn kiểm tra bằng file info.php với nội dung code :

Chúc các bạn thành công.
Previous article[MailServer] Hiểu về cơ chế lưu trữ mail – Maildir
Next article[Zabbix] Sự khác biệt giữa Zabbix Active Check và Passive Check
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !