[英]Unable to enable PHP LDAP even though I have edited php.ini and php_ldap.dll is in the right place?
我已經使用 WAMP 安裝工作了很長一段時間,並且啟用了 LDAP,一切都進行得很順利。 現在雖然我必須設置另一台機器,但由於某種原因我無法啟用 LDAP。
我檢查了phpinfo()
的輸出,但 LDAP 部分不存在。 我編輯了php.ini
以取消注釋該行:
extension = php_ldap.dll
我還檢查了正在搜索擴展名的文件路徑,並且文件php_ldap.dll
位於正確的位置。
我敢肯定我編輯正確php.ini
,因為我檢查的文件路徑文件被這些phpinfo()
,也是我能夠成功地啟用/禁用其他擴展。
每次更改后我都重新啟動了 Apache。
在谷歌搜索時,我找到的唯一解決方案是上面的那些,加上一兩次提到編輯 Windows PATH
變量以包含php.ini
的路徑? 即使它對我沒有意義也嘗試過(因為我已經知道php.ini
正在被解析)。 我還檢查了我之前在另一台機器上的安裝,從我所看到的,我從未在該機器上的PATH
添加任何 PHP 目錄
下面弗蘭克的回答讓我找到了解決方案,所以我想我現在應該整合所有內容。
在 WAMP 服務器上啟用 LDAP 支持:
php.ini
取消注釋extension = php_ldap.dll
phpinfo()
的輸出,確保您正在編輯正確的php.ini
php.ini
文件以獲取擴展目錄的位置php_ldap.dll
是否位於該目錄中libeay32.dll
和ssleay32.dll
並將它們的目錄添加到 Windows PATHphpinfo()
的輸出中會有一個關於它的部分這里有一些提示: http : //php.net/manual/en/ldap.installation.php 。 請注意,您需要添加另外兩個 DLL libeay32.dll
和ssleay32.dll
。 您可能還需要使用--with-ldap
進行編譯
我遵循了這些說明,但仍然無法在我的 phpinfo() 中加載 LDAP。 Apache 日志在啟動時顯示以下非致命消息: ######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0
######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0
最后,我再次查看了 phpinfo(),發現使用的是系統變量 PATH 而不是我的用戶變量 PATH,並且它沒有包含到 PHP 根目錄和 PHP 擴展文件夾的正確路徑。 只需將它們添加到####\\php\\php5.4.16;####\\php\\php5.4.16\\ext;
並重新啟動Apache,解決了問題。 希望這可以幫助別人。
我的環境
視窗 10
PHP 7.4.3
阿帕奇 2.4.41
我正在使用 phpstorm。 如果找不到評論,只需在 php.ini 頁面底部粘貼“extension = php_ldap.dll”即可。 不客氣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.