ldapmodify:无效的格式(第5行)条目:“&引用;在LDIF上(从PHP传递)
我试图编写一段代码,允许用户通过PHP web界面更改过期的Active Directory密码。由于PHP的ldap库*的限制,似乎唯一的方法是生成ldif,然后直接将其传递给ldapmodify 我提出的代码(减去变量)是: 就我所知,第5行上唯一的东西是一个“-”。所以我有点纠结于什么可能是错的 另外,我也读过这篇文章,它报告了一个类似的问题,尽管假设“-”字符的编码是个问题,但我不确定我能从PHP中用它做什么(mb_string_将整个字符串编码成utf-8似乎没有任何效果) 这也在solaris计算机上运行,这可能也是一个因素 *PHP无法在一个命令中执行两个操作,这是在AD中更改用户密码所必需的。(据我所知)ldapmodify:无效的格式(第5行)条目:“&引用;在LDIF上(从PHP传递),php,ldap,ldif,Php,Ldap,Ldif,我试图编写一段代码,允许用户通过PHP web界面更改过期的Active Directory密码。由于PHP的ldap库*的限制,似乎唯一的方法是生成ldif,然后直接将其传递给ldapmodify 我提出的代码(减去变量)是: 就我所知,第5行上唯一的东西是一个“-”。所以我有点纠结于什么可能是错的 另外,我也读过这篇文章,它报告了一个类似的问题,尽管假设“-”字符的编码是个问题,但我不确定我能从PHP中用它做什么(mb_string_将整个字符串编码成utf-8似乎没有任何效果) 这也在so
编辑:不知道为什么会有人投反对票,但如果我做了一件明显愚蠢的事却没有注意到,我会很高兴被告知我是个白痴(只要你指出那是什么,因为我已经在这件事上呆了一段时间)多亏了freenode上的ldap频道的帮助,结果证明我确实是个白痴(特别是考虑到我一天中大部分时间都在戳和戳这个)
LDIF在“-”之后包含windows新行字符时,ldapmodify似乎不喜欢它在sublime中将行尾从windows切换到unix解决了我的问题*考虑接受你自己的答案。就个人而言,我不认为这样做是不好的。我怀疑行尾,但可能不保证否决票。我今天也在做同样的事情。
ldapmodify -H {$ad_server} -D '{$dn}' -w {$old} <<!
dn: {$dn}
changetype: modify
delete: unicodePwd
unicodePwd:: {$oldPassword}
-
add: unicodePwd
unicodePwd:: {$newPassword}
-
!
ldapmodify: invalid format (line 5) entry: " ... "