php 7 opcache & apcu

原本 php 要做 cache 就只能用 apc 這個 package (pecl install apc), 但從 php 5.6 之後,有了 opcache,可以取代掉一部分工作。詳細可以看這邊

然而 opcache 只有做 code caching,所以 user data caching 的工作還是要找其他的方案,但是在我自己的環境(ubuntu 16.04, apache 2.4, php 7, phalcon 3) 已經不能安裝 apc(會出錯),所以只好用 apcu (pecl install apcu)

至於使用方式跟 apc 差不多,可以參考官方文件說明。我覺得最好的地方在於可以設 ttl timeout,這樣對於一些暫時性的資料(例如 authentication key)就不用開個 table 去維護了。另外如果資料不多,也不用去搞個 redis 來當 cache…

安裝方式

#要先記得 apt-get install php7.0-dev

#透過 pecl 安裝
sudo pecl channel-update pecl.php.net
sudo pecl install apcu

#編輯 apcu.ini
sudo nano /etc/php/7.0/mods-available/apcu.ini
#把下面這行加入 
extension=apcu.so

#建立 symbolic link
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/apache2/conf.d/10-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/10-apcu.ini

2017/4/18 update:
後來發現 ubuntu 16.04 裏頭直接可以 apt-get install

sudo apt-get install php-apcu

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料