一. 問(wèn)題 :
1. 當我的虛擬主機客戶(hù)越來(lái)越多, PHP 的執行量越來(lái)越多, 要如何加快 PHP 的執行速度 ?
二. 說(shuō)明 :
1. PHP 應該可以算是目前市面上搭配 Linux 使用最多的一種程式語(yǔ)言, 也有很多的 Open Source 採用 PHP 來(lái)當作設計的語(yǔ)言, 所以提供一個(gè)高速的 PHP 執行環(huán)境給客戶(hù)是相當重要的, 特別是一些線(xiàn)上社群, 線(xiàn)上討論區, 線(xiàn)上購物網(wǎng)站 ... 等, 都需要執行大量的 PHP 程式, 若是主機的回應不夠快的話(huà)那一定是沒(méi)有人要用你們家的主機的, 在 Fdora 的套件中有一個(gè) php-mmcache 的套件, 這個(gè)套件是 Apache 的外掛模組, 主要的功能是將執行過(guò)的 PHP 程式存放於一個(gè)暫存磁區中, 當下一個(gè)人要使用該程式的話(huà)就可以直接將該程式執行, 不需要再從原硬碟存放的地方重新讀取, 造成系統效能的降低.
三. 解法 :
1. 請直接執行以下的程式安裝 php-mmcache 套件
yum install php-mmcache
或者
apt-get install php-mmcache
2. 安裝完成後該套件會(huì )在 /etc/php.d 中增加一個(gè) mmcache.ini 的檔案, 該檔案就是要告訴 apache 引入 mmcache.so 的設定檔.
3. 若是要讓快取的程式放到記憶體中的話(huà), 請修改原本 cache 的存放路徑, 更改到 /tmp/php-mmcache 中
mmcache.cache_dir = /tmp/php-mmcache
4. 修改完成後請執行以下的指令將 /tmp mount 到 記憶體中
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
5. 建好後請在 /tmp 的資料夾中建立一個(gè) php-mmcache 的資料夾
mkdir /tmp/php-mmcache
6. 重新啟動(dòng) httpd 的服務(wù)
7. 觀(guān)察一下 /tmp/php-mmcache 中是有否有產(chǎn)生 cache 的檔案, 若是有的話(huà)那就恭喜你, 你的主機可以快取 PHP 囉
說(shuō)明 :
1. 以上的套件對於 Smarty 有時(shí)會(huì )造成傳值上的問(wèn)題, 所以若是有套件採用 Smarty 的套件且出現傳值錯誤的話(huà), 請勿安裝.
2. 因為 cache 會(huì )佔用記憶體, 若是記憶體不夠的話(huà), 請不要將 cahce_dir 改到 /tmp/php-cache 中, 保留在原來(lái)的設定就可以了