0

我对 CakePHP 很陌生,这是我第一次尝试使用 LDAP。使用此 CakePHP Ldap 身份验证示例时,我收到以下错误消息。

此服务器上未配置 LDAP。可能缺少 PHP-LDAP 扩展!

我的 database.php 代码是

class DATABASE_CONFIG {
    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => 'my!password',
        'database' => 'my_db',
        'prefix' => '',
        //'encoding' => 'utf8',
    );      
    public $ldap = array(
        'datasource' => 'Idbroker.LdapSource',
        'host' => 'dc1.my_domain.net',
        'port' => 3268,
        'basedn' => 'CN=Users,DC=my_domain,DC=net',
        'login' => 'CN=theadmin,DC=my_domain,DC=net',
        'password' => 'my!password',
        'database' => '',
        'tls'         => false,
        'type' => 'ActiveDirectory',
        'version' => 3,
    );
}

平台是Windows Server 2012 | Apache HTTP | 协作网 | 颠覆 | 微软活动目录。模块 util_ldap mod_authnz_ldap根据 phpinfo.php 加载到 apache2handler 上,服务器上的 php.ini包含

extension=php_ldap.dll
[ldap]
; -1 for unlimited.
ldap.max_links = -1

php-ldap 是否需要在服务器上加载其他内容?我应该使用其他 CakePHP 调试方法吗?

4

1 回答 1

1

要让 php-ldap 在 Win32 环境中工作,您需要拥有这些文件libeay32.dllssleay32.dll位于系统路径中。根据您的 PHP 版本,您可能还需要libsasl.dll.

检查这些是否可以在您的系统上访问。另外,请确保php-ldap.dll确实可用。至少这就是我让它在我的 Windows 系统上工作的方式

于 2013-08-15T13:20:02.337 回答