Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ldapmodify:无效的格式(第5行)条目:“&引用;在LDIF上(从PHP传递)_Php_Ldap_Ldif - Fatal编程技术网

ldapmodify:无效的格式(第5行)条目:“&引用;在LDIF上(从PHP传递)

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

我试图编写一段代码,允许用户通过PHP web界面更改过期的Active Directory密码。由于PHP的ldap库*的限制,似乎唯一的方法是生成ldif,然后直接将其传递给ldapmodify

我提出的代码(减去变量)是:

就我所知,第5行上唯一的东西是一个“-”。所以我有点纠结于什么可能是错的

另外,我也读过这篇文章,它报告了一个类似的问题,尽管假设“-”字符的编码是个问题,但我不确定我能从PHP中用它做什么(mb_string_将整个字符串编码成utf-8似乎没有任何效果)

这也在solaris计算机上运行,这可能也是一个因素

*PHP无法在一个命令中执行两个操作,这是在AD中更改用户密码所必需的。(据我所知)


编辑:不知道为什么会有人投反对票,但如果我做了一件明显愚蠢的事却没有注意到,我会很高兴被告知我是个白痴(只要你指出那是什么,因为我已经在这件事上呆了一段时间)

多亏了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: " ... "