PhotoFiltre→WAMP / XAMPP 使用 memcached 加速 PHP 效能 !
最近學習架網站學得了一點心得,不過學到的當然不是 PHP 語言該怎麼寫,而是一些基本設定,不過這些對於需要一個基本功能又需要效能不差的網站來說,應該會更重要吧~
架站一陣子以後,開始想該怎麼讓網站執行效能更好,上網做功課的結果大多是使用快取的方式來達到加速的效果,大部分不是 eAccelerator 就是 Memcached,前者在較新版本的 PHP 上似乎無法成功執行,在我架站的環境中就是無法成功執行,而 Memcached 則是在我的努力之後,成功的在我的電腦上跑起來囉~包含 32 及 64 位元的 Windows 系統上都能成功執行,而所有用得到的程式都可以從這篇文章的附加檔案下載。
Windows 版的 Memcached 目前最新應該是 1.2.6 版,要安裝 Memcached 之前就先找個位置放好吧,例如D:\memcached,資料夾中至少要有 memcached.exe,在部分系統中可能會出現找不到 msvcr71.dll 的錯誤訊息,我已經將 msvcr71.dll 一併放到 memcached 壓縮檔中了,所以應該不會再出現這個錯誤訊息了,不過 memcached 目前仍只有 32 位元版,還好在 64 位元的 Windows 上仍然可以正常執行。
接下來先安裝 memcached 成為系統服務,上面假設的路徑是 D:\memcached,所以輸入指令如下:
D:\memcached\memcached.exe -d install
這樣就安裝程系統服務了,接下來啟動 memcached,指令如下:
D:\memcached\memcached.exe -d start
再來就是讓 PHP 載入 php_memcache.dll,在那之前先看看 php_info 中寫的內容 :
第 3 行的 Compiler 顯示的是 MSVC9,第 4 行顯示系統是 64 位元的,所以這裡就要找到 VC9_64 位元版的 php_memcache.dll,並將 php_memcache.dll 放到 PHP 資料夾中的 ext 資料夾裡,然後編輯 php.ini 檔,用搜尋的方式找到「extension=」,找到以後可以依英文字母順序或在以 extension= 開頭的最後一行加入以下這一行:
extension=php_memcache.dll
如果是 32 位元系統的話就要使用VC6,這個 php_memcache.dll 還有分 TS 及 NTS,指的是 N on T hread S afe,在我的系統上要用 TS 的才能被成功載入。
接著重新啟動 Apache 伺服器讓 php_memcache.dll 被載入,然後再看看 php_info 中有沒有 memcached 的訊息,如下圖:
如果可以在 php_info 中看到上圖訊息的話代表已經成功了喔~
如果所架的網站有快取系統可以設定,或者可以透過外掛(Plugin)讓網站使用 memcached 的話,就可以直接設定使用 memcached 來快取,最上方所做的將 memcached 安裝成服務後,電腦就變成了 memcached 快取伺服器了,預設使用的通訊埠是 11211,如果設定中有相關設定的話,只要將伺服器 IP 設定為 127.0.0.1,通訊埠設為 11211 即可開始使用 memcached 來做快取了。
附件下載:
memcached-1.2.6-win32-bin.zip 213.15KB
php_memcache_VC9_x64.zip 28.51KB
php_memcache-cvs-20090703-5.3-VC6-x86.zip 19.59KB