Contents
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.