0x7002:未在ZF2中加载LDAP扩展

时间:2014-07-12 07:39:57

标签: zend-framework2 ldap

This is my Action

public function loginAction()
{
    $request= $this->getRequest();
    if($request->isPost())
    {
        $username= $request->getPost('email');
        $password= $request->getPost('password');

        $auth = new AuthenticationService();
        $adapter = new AuthAdapter(
            array('server1'=>array(
                'host' => '192.168.1.4',
                'useStartTls' => false,
                'useSsl' => false,
                'accountDomainName' => 'coasting',
                'accountDomainNameShort' => 'DOMAIN',
                'accountCanonicalForm' => 3,
                'accountFilterFormat' => '(&(objectClass=user)(sAMAccountName=%s))',
                'baseDn' => 'CN=Users,DC=domain,DC=local',
                'bindRequiresDn' => false,
                'optReferrals' => false
            )), 
            $username, 
            $password
        );
        $result = $auth->authenticate($adapter);

        print_r($result);
    }

}

运行此操作后,错误将显示' 0x7002:LDAP扩展未加载',

/var/www/coasting/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/Ldap.php(140):Zend \ Ldap \ Ldap-> __ construct()

/var/www/coasting/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/Ldap.php(205):Zend \ Authentication \ Adapter \ Ldap-> getLdap()

/var/www/coasting/vendor/zendframework/zendframework/library/Zend/Authentication/AuthenticationService.php(1010):Zend \ Authentication \ Adapter \ Ldap-> authenticate()

我该如何解决这个错误。如果有其他设置?

1 个答案:

答案 0 :(得分:3)

安装PHP LDAP扩展。

您的PHP安装似乎缺少LDAP扩展。看看你的Phpinfo,你会发现没有" ldap"部分可用。因此,缺少LDAP连接的基本功能。因此错误。

如何安装扩展程序取决于使用的系统。它可能类似于" brew php-ldap"在Mac或" apt-get install php5-ldap"在debian或ubuntu linux上。在网上查看您最喜欢的搜索引擎,以查找有关该搜索引擎的更多信息。