使用 PHP 在 Windows Azure 網站服務架設網站,或是撰寫網站應用程式時,除了 Windows Azure 網站服務本來就準備好的 PHP 執行環境之外,碰到某些狀況可能會想要自行開發或是使用別人已經開發好的 PHP 擴充套件(PHP Extensions),例如要使用 Memcache 作快取時,很多人會使用 PECL上的這個 memcache extension。想要使用 PHP extensions 只要在 Windows Azure 網站服務的後台做一些調整就可以了。以下就以 memcached extension 作為示範:
在取得 PHP extension 時特別要注意,因為 Windows Azure 網站服務是以 Windows Server 及 IIS 為基礎,所以要使用的 PHP extension 必須要是編譯為 Windows 的版本(也就是 .dll 檔案),目前 Windows Azure 網站服務能正確執行的是透過 VC9(Visual C++ 2008)編譯的版本(並且是 non thread safe),至於要使用 32-bit 或是 64-bit 的版本、PHP 的版本,也要看你的網站服務設定使用哪一個環境。
在 Windows Azure 網站後台的設定,每一個環境都要確認設定為何- 透過 FTP 或是其它你已經在使用的部署方式,在網站的根目錄(sites\wwwroot)下建立一個 bin資料夾(這個名稱可以自己設定,不一定要 bin),然後將 php_memcache.dll檔案放在 sites\wwwroot\bin\目錄下。
接下來在 Windows Azure 網站服務管理介面下的設定頁面,在應用程式設定裡增加一個 PHP_EXTENSIONS 的設定,然後值設成 bin\php_memcache.dll(如果有多個 extensions,就用逗號隔開)如下所示:
PHP_EXTENSIONS 設定- 儲存變更後,你的 PHP 網站就可以使用 php_memcache.dll這個 extension 的功能了。