这个错误意味着什么:"警告:ldap_mod_add():修改:存在类型或值"

时间:2016-05-10 08:18:43

标签: php ldap

我使用ldap 2天(所以我对这个工具并不是很有信心)对于一个项目而且我收到了这个错误。

以下是代码:

$ldap_user = $this->container->getParameter('ldap_user');
            $ldap_pass= $this->container->getParameter('ldap_pass');
            $ldap_co = ldap_connect($this->container->getParameter('ldap_address'));
            if ($ldap_co) {
                ldap_set_option($ldap_co, LDAP_OPT_PROTOCOL_VERSION, 3);
                ldap_bind($ldap_co , $ldap_user, $ldap_pass);
                $sr =ldap_search($ldap_co, "ou=Users,dc=LOCALLAN,dc=OSAXIS,dc=FR", "uid=*");
                $userList = ldap_get_entries($ldap_co, $sr);
                $tmp = 0;
                for ($i = 0; $i < count($userList) - 1 ; $i++)
                {
                    if ($tmp < $userList[$i]['uidnumber'])
                        $tmp = $userList[$i]['uidnumber'];
                }
                $tmp[0]++;
                $userId['memberUid']=$user->getUsrLogin();
                ldap_mod_add($ldap_co, 'cn=Osaxis,ou=Groups,dc=LOCALLAN,dc=OSAXIS,dc=FR', $userId);
                $dn = "uid=".$user->getUsrLogin();
                $dn.= ",ou=Users,dc=LOCALLAN,dc=OSAXIS,dc=FR";
                $info['cn'] = $user->getUsrLogin();
                $info['displayname'] = $user->getUsrNom() . " " . $user->getUsrPrenom();
                $info['mail'] = $user->getUsrEmail();
                // $info['birthdate'] = str_replace("-", "/",$user->getUsrDateNaissance()->format('d-m-Y'));
                $info['entrydate'] = str_replace("-", "/",$user->getUsrDateEmbauche()->format('d-m-Y'));
                $info['gecos'] = "User";
                $info['gidnumber'] = "513";
                $info['objectClass'][0] = "top";
                $info['objectClass'][1] = "person";
                $info['objectClass'][2] = "organizationalPerson";
                $info['objectClass'][3] = "posixAccount";
                $info['objectClass'][4] = "shadowAccount";
                $info['objectClass'][5] = "inetOrgPerson";
                $info['objectClass'][6] = "entryDateOsaxis";
                $info['sn'] = $user->getUsrPrenom();
                $info['uidnumber'] = $tmp[0];
                $info['givenname'] = $user->getUsrNom();
                $info['homedirectory'] = "/home/".$user->getUsrLogin();
                $info['shadowlastchange'] = "16605";
                $info['shadowmax'] = "3650";
                $info['telephonenumber'] = $user->getUsrTelport();
                $info['userpassword'] = md5($user->getUsrPassword());
                ldap_add($ldap_co, $dn, $info);
                ldap_close($ldap_co);

起初我以为是因为我添加了birthdate,而在ldap中没有此名称的字段。但是在删除线后错误仍然存​​在。我也清除了缓存,但错误仍然存​​在,并且不够清楚,我无法理解问题是什么......

如果有人有一个很棒的解决方案。

0 个答案:

没有答案