Zend OpCache là một extension cho PHP, cung cấp khả năng thực thi các file PHP nhanh hơn rất nhiều lần bằng cách lưu trữ các mã lệnh PHP đã dịch (pre-compiled) trong bộ nhớ chia sẻ (shared memory).
Cảnh báo!
Các hướng dẫn ở bài viết này được thực hiện trên Ubuntu, và sẽ chạy tốt trên Debian. Nếu không phải Ubuntu/Debian, bạn có thể cần phải điều chỉnh lại một số thông số về đường dẫn. Nếu bạn chạy PHP trên Windows, lời khuyên của tôi là: Hãy chuyển sang Linux càng sớm càng tốt!!!Đối với bản PHP 5.5, OpCache đã được tích hợp sẵn (built-in), do đó, nếu bạn đang sử dụng PHP 5.5 thì bạn có thể bỏ qua phần cài đặt và xem phần Cấu hình. Trên server của tôi đang sử dụng PHP 5.4 và tôi muốn tận dụng ưu thế của OpCache nên tôi đã cài đặt thêm extension này.
Cài đặt
# Cài đặt "pecl" thông qua php-pear
$ sudo apt-get install -y php-pear
# Cài đặt các thư viện phụ thuộc (build dependencies)
$ sudo apt-get install -y build-essential php5-dev
# Cài đặt Zend OpCache
$ sudo pecl install zendopcache-7.0.2
Cấu hình
Nào, hãy bắt tay vào việc cấu hình sau khi việc cài đặt đã hoàn tất. Ubuntu/Debian có quy ước về nơi lưu trữ các tập tin cấu hình cho PHP (*.conf) tại đây /etc/php5/conf.d
, (các tập tin trong đó được link từ /etc/php5/mods-available
). Dưới đây là cách cấu hình mà tôi đã thiết lập trên server của tôi
Đầu tiên, tôi tìm vị trí của tập tin opcache.so
(module OpCache mở rộng cho PHP để có thể chức năng của Zend OpCache):
$ sudo find / -name 'opcache.so'
/usr/lib/php5/20121212/opcache.so # kết quả tìm kiếm trên server của tôi với php 5.4
Sau khi tìm được tập tin opcache.so, tôi bổ sung nó vào tập tin cấu hình như sau:
# Tạo mới và thêm nội dung cho tập tin opcache.ini: $ sudo nano /etc/php5/mods-available/opcache.ini
; priority=20 zend_extension=/usr/lib/php5/20121212/opcache.so # đường dẫn đến file opcache.ini opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
opcache.save_comments=0
vào tập tin opcache.ini bên trên.Để PHP có thể đọc được tập tin opcache.ini bên trên, ta cần tạo một symbolic link đến nó từ /etc/php5/mods-available
như sau:
$ sudo ln -s /etc/php5/mods-available/opcache.ini /etc/php5/mods-available/opcache.ini 20-opcache.ini
Đến đây, mọi việc đã hoàn tất. Việc cần làm tiếp theo là khởi động lại Apache nếu bạn đang chạy PHP với Apache
$ sudo service apache2 restart # Hoặc: /etc/init.d/apache2 restart
Hoặc khởi động lại PHP-FPM nếu đang chạy PHP với chế độ FPM
$ sudo service php5-fpm restart # Hoặc: /etc/init.d/php5-fpm restart
Kiểm tra xem việc cài đặt đã thành công hay chưa
$ php -v PHP 5.4.23 (cli) (built: Dec 13 2013 10:32:38) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.2, Copyright (c) 1999-2013, by Zend Technologies
Làm sạch sau khi cài đặt
$ sudo apt-get remove --purge build-essential php5-dev
Đến đây, mọi việc đã hoàn tất. Hãy tận hưởng sự cải thiện tốc độ mà OpCache mới mang lại cho bạn. Mọi vấn đề, thắc mắc hay góp ý đều được hoan nghênh!
Tăng tốc PHP với Zend OpCache trên Debian/Ubuntu
OpCache PHP Tăng tốc Tăng tốc PHP Tối ưu hóa