在 Microsoft Azure 網站服務上使用 PHP Extensions

使用 PHP 在 Microsoft Azure 網站服務架設網站,或是撰寫網站應用程式時,除了 Microsoft Azure 網站服務本來就準備好的 PHP 執行環境之外,碰到某些狀況可能會想要自行開發或是使用別人已經開發好的 PHP 擴充套件(PHP Extensions),例如要使用 Memcache 作快取時,很多人會使用 PECL 上的這個 memcache extension。想要使用 PHP extensions 只要在 Microsoft Azure 網站服務的後台做一些調整就可以了。以下就以 memcached extension 作為示範:

  1. 在取得 PHP extension 時特別要注意,因為 Microsoft Azure 網站服務是以 Windows Server 及 IIS 為基礎,所以要使用的 PHP extension 必須要是編譯為 Windows 的版本(也就是 .dll 檔案),目前 Microsoft Azure 網站服務能正確執行的是透過 VC9(Visual C++ 2008)編譯的版本(並且是 non thread safe),至於要使用 32-bit 或是 64-bit 的版本、PHP 的版本,也要看你的網站服務設定使用哪一個環境。


    在 Windows Azure 網站後台的設定,每一個環境都要確認設定為何

  2. 透過 FTP 或是其它你已經在使用的部署方式,在網站的根目錄(site\wwwroot)下建立一個 bin 資料夾(這個名稱可以自己設定,不一定要 bin),然後將 php_memcache.dll 檔案放在 site\wwwroot\bin\ 目錄下。

  3. 接下來在 Microsoft Azure 網站服務管理介面下的設定頁面,在應用程式設定裡增加一個 PHP_EXTENSIONS 的設定,然後值設成 bin\php_memcache.dll(如果有多個 extensions,就用逗號隔開)如下所示:


    PHP_EXTENSIONS 設定

  4. 儲存變更後,你的 PHP 網站就可以使用 php_memcache.dll 這個 extension 的功能了。