我是CakePHP的新手,这是我第一次尝试使用LDAP。 我使用this CakePHP Ldap Authentication示例获得以下错误消息。
此服务器上未配置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 | CollabNet | Subversion | Microsoft Active Directory。 模块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调试方法吗?
答案 0 :(得分:1)
要使php-ldap在Win32环境中工作,您需要在系统路径中包含libeay32.dll
和ssleay32.dll
文件。根据您的PHP版本,您可能还需要libsasl.dll
。
检查系统上是否可以访问这些内容。另外,请确保php-ldap.dll
确实可用。至少that's how i got it to work on my Windows system。