因為在研究如何利用 PHP 與 Windows AD 進行 LDAPS 連線,外部的 Linux 或 FreeBSD 跑 Apache + PHP 的 Server 都無法成功,
所以決定讓 Windows Server 2016 本身的 IIS 也能支援 PHP , 直接在本機測試.
最後結果是用 port 636 進行 ldap_connect 沒問題, 但是不管如何就是無法 bind 成功.
算了, 先把如何讓 IIS 支援 PHP 記錄一下。
這一次我是使用 Web Platform Installer 來完成,Web Platform Installer 簡稱 Web PI , 是微軟提供的一款建置網站平臺的整合式軟體,除了提供微軟的工具,也支援建置WordPress部格格框架、Moodle教學平臺、Drupal等常見開源平臺,微軟真是佛心來著,省掉了以往得一大堆繁複的步驟才能達成的功能。
1.直接連上微軟網站 https://www.microsoft.com/web/downloads/platform.aspx 進行安裝
2. 下一個畫面, 當然直接是按"執行"
3. 官方網站目前提供下載的是 5.0 版, 而且是英文版
4.安裝中...
5.安裝完成
6.安裝完畢, 一執行系統就自動檢查更新, 就告訴我可以進行 5.1 版的更新, 真奇怪, 剛剛在網站上下載的竟然不是最新的, 不過, 更新完會變成中文版的.
7. 更新完畢再次執行, 由於目標是讓 IIS 可支援 PHP , 所以選擇上方"產品"類, 然後左側選擇"架構" , 畫面往下捲動, 即可找到 PHP 7.2.7 , 如下圖
選擇完畢, 按下"安裝"
8. 安裝中, 會自動安裝一些必要元件, 下面當然是要按"我接受"
9. 安裝中....
10. 安裝完畢, 在 IIS 的根目錄簡單寫個 phpinfo 程式看一下安裝情況
<?php phpinfo(); ?>
可以看到確實把 PHP 7.2.7 裝上去了
11. 設定 php.ini , 位置是在 C:\Program Files\PHP\v7.2 這個目錄裡面
剛剛檢查 phpinfo , 發現 php_ldap.dll 這個 extension 預設並沒有載入,
但是, 檢查 C:\Program Files\PHP\v7.2\ext 卻發現其實安裝的時候都有裝進去了,
所以要自己手動加進來
用記事本開啟 php.ini , 把它加上去, 如下圖, 然後 ldap 相關指令就可以使用了。