centos7-featured-image

CentOS 7安裝 OPcache

今天要介紹的是如何在 CentOS 7上安裝OPcache,這算是伺服器安裝系列文之一。

在講如何安裝之前,會先說說什麼是OPcache,想調整效能的話,OPcache 可是必備的知識之一阿。

不過本篇著重在安裝與介紹,調整與設定便無多做介紹,有興趣者可以上網查查。

1.開始之前:何謂 OPcache

OPcache 是提升 PHP 運作效能的工具之一,透過將預先編譯的 PHP 腳本程式(script bytecode)存在共享記憶體(shared memory)裡,減少每次進行 PHP 要求(request)時進行的存取與編譯動作。

簡單來講就是先編譯好放著,需要時直接拿就好,不用再跑去原檔案資料夾載入檔案,載入完再進行編譯,對效能的提升來說相當有幫助。

目前 PHP 5.5.0 及後續版本都有綁定此延展(extention),PHP 5.2、5.3 及 5.4 則可以使用 PECL 的 OPcache extention。

2.比較:APC vs APCu vs OPcache

有在關注或處理效能的同學們,應該對這三個不陌生,都是在處理緩存效能的。

最一開始只有 APC,負責系統暫存(opcode cache)與使用者資料暫存(data store)兩大部分。之後似乎發現了 Bug,官方推出了 APCu(APC User Cache),負責使用者資料暫存功能,而 APC 則廢棄不使用。

到了 PHP5.5 後,官方推出了 OPcache,負責系統暫存功能。

雖然目前 APC 被視為不再維護更新(差不多等同廢棄),但 PECL 上還是拿的到程式。即使如此還是建議使用新的 OPcache 與 APCu。

3.安裝之前:環境說明

環境:Linux Cent OS 7

PHP版本:5.4 手動升級至 5.6

1.開始之前有提到 PHP 5.5.0 及以後的版本本身就帶有此延展,但這看來似乎僅限「直接安裝」的 PHP 版本。

但問題來了,某貓遇到的狀況是「升級」。

不曉得各位有沒有看過我之前的文章,關於升級 PHP 版本的「將PHP5.4升級至PHP5.6」,當時的血與淚某貓已經忘得差不多了(過去的血與淚就讓它過去吧),只是裝完很興奮後發現 APC 不能用,需要裝 OPcache,當下的心情跟程式快跑完結果看到藍頻差不多的舒酸爽阿。

於是這樣那樣,手動升級到 PHP5.6,OPcache 卻沒跟著一起來,真是可喜可賀,只好手動裝回來了。

4.開始安裝:其他所需延展

開始安裝之前請先確認是否有安裝 EPEL(Extra Packages for Enterprise Linux),這是一個提供各種套件給Linux安裝的套件庫,確認是否有安裝與如何安裝請至:安裝repopsitory。

5.安裝 opcache

預先需要的延展(EPEL)安裝完畢後,終於進入今天的主題了。安裝 opcache 其實也很簡單,也就一行:

  1. [root@centos7 ~]# yum install php-opcache

等它安裝完畢後,要使用便可以直接啟動。至php.ini找到或輸入 opcache.enable=1(說輸入是因為php.ini裡可能沒有預設設定,就某貓手動升級來說,就需要手動輸入),啟動後重開 httpd 即可:

  1. [root@centos7 ~]# service httpd.service restart

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s