PHP 7 無法載入LDAP的解決方式
本機環境:Apache 2.4.41 + PHP 7.3.10
今天測試LDAP認證程式時,發生HTTP ERROR 500的錯誤,從Apache的error.log中發現
Unable to load dynamic library 'ldap'(tried: C:\\AppServ\\php7\\ext\\ldap...
查了不少文章,大部份是舊版本的問題處理,試了很多方法,像是檢查LDAP模組是否啟用,路徑…等等,最後終於找到解決方法,便將過程記錄下:
首先修改PHP目錄下的php.ini
重新啟用之後,發現error.log仍然出現錯誤訊息,最後找到一個與我有類似環境及狀況的文章,原因似乎是Apache的bin目錄缺少了libsasl.dll,其解決方式就是把PHP目錄下的libsasl.dll複製一份到該目錄(C:\AppServ\Apache24\bin),然後再重新啟動Apache。
再次打開error.log,錯誤訊息不再出現,認證程式也順利執行。
參考連結:https://www.cnblogs.com/breeze-zZ/p/11170982.html
今天測試LDAP認證程式時,發生HTTP ERROR 500的錯誤,從Apache的error.log中發現
Unable to load dynamic library 'ldap'(tried: C:\\AppServ\\php7\\ext\\ldap...
查了不少文章,大部份是舊版本的問題處理,試了很多方法,像是檢查LDAP模組是否啟用,路徑…等等,最後終於找到解決方法,便將過程記錄下:
首先修改PHP目錄下的php.ini
- 檢查extension_dir是否與實際目錄位置一致(extension_dir="C:\AppServ\php7\ext")
- 把LDAP的註解拿掉(extension=ldap)
- 重新啟動Apache
重新啟用之後,發現error.log仍然出現錯誤訊息,最後找到一個與我有類似環境及狀況的文章,原因似乎是Apache的bin目錄缺少了libsasl.dll,其解決方式就是把PHP目錄下的libsasl.dll複製一份到該目錄(C:\AppServ\Apache24\bin),然後再重新啟動Apache。
再次打開error.log,錯誤訊息不再出現,認證程式也順利執行。
參考連結:https://www.cnblogs.com/breeze-zZ/p/11170982.html
感謝分享,真難聯想到跟有缺了一個dll
回覆刪除