我使用的是 PhpLdapPassword 0.5-1版本。一切正常,但是有一天无法在此处更改密码。当我打开 ldappasswd / index.php 页并输入登录名,旧密码和新密码时,它显示:
Fatal Error: Unable to change password.
同时 ldappasswd / reset.php 页面可以正常工作。
问题是我不知道确切的功能何时终止,因为我和用户并不是每天都在使用它。这就是为什么我无法说出问题发生之前服务器上所做的更改的原因。
我尝试使用 -d 参数启动拍击,并检查 / var / log / messages 文件。这没有帮助。
我看到了消息来源,看来 ldap_mod_replace 返回 false 。但是我怎么知道原因呢?在哪里有日志?
php-5.3.3-46 安装在服务器上。
已更新:
我在(strong)第(a)行之后在 ldappasswd / reset.php 文件中将以下(b)行添加到 phpldappasswd / index.php 中。
a)
// Check the current password.
if (!($ldapbind = @ldap_bind($ds, $dn, $oldpass))) {
if ($PARANOID) {
display_template($TEMPLATE_CHANGEPASS, "You gave an incorrect user ID and/or current password");
}
display_template($TEMPLATE_CHANGEPASS, "You gave an incorrect current password");
}
b)
if (!($mail = get_value($ds, $dn, $MAILATTRIBUTE, $LDAPBINDDN,
$LDAPBINDPASSWORD))) {
}
可以,但是我无法解释这种行为。