Tach!
ich habe ja extra schon die @ vor ldap_search oder get_entries weggenommen um irgend welche Fehler zu sehen.
Das reicht nicht, und du solltest das bereits von den Datenbank-Funktionen her kennen. Du musst auswerten, was die Funktionen zurückgeben und nicht einfach nur das Ergebnis an die nächste Funktion weitergeben. Es ist eine Grundphilosophie von PHP, dass Fehler nicht nur ausgegeben werden (meist nur bei reinen PHP-Fehlern), sondern auch dass Funktionen über ihr Ergebnis einen Fehlerzustand signaliseren (false statt Ressourcenkennung oder etwas anderem nützlichem). Mitunter (vorwiegend bei Extensions, die irgendwas externes abfragen, so auch LDAP) gibt es spezielle Funktionen, die den Fehlermeldungstext abholen.
Das Problem ist, das es keine Fehlermeldung zu geben scheint.
Der Schein trügt vielleicht, wenn du dich nicht vergewisserst, was wirklich passiert. Zum ordentlichen Programmieren zählt, dass man potentielle Fehler einkalkuliert. Und zum Suchen von bereits auftretenden Fehlern ist var_dump() das wichtigste Werkzeug. Was ist wirklich in der Variable enthalten? Was wird wirklich von der Funkton zurückgegeben? var_dump() klärt auf.
Also bitte: Handbuch aufschlagen, was gibt die Funktion im Gutfall zurück, was im Fehlerfall? Strategie ausdenken, wie auf den Fehlerfall reagiert werden soll. Diese in Code umsetzen. Nicht immer steht im Handbuch ein Hinweis auf die Funktion, die die Fehlermeldung vom externen System holt, dann sollest du nachsehen, ob es eine Funktion namens ..._error() gibt. Diese Funktion solltest du nicht einfach so aufrufen, sondern erst wenn feststeht (false als Ergebnis), dass ein Fehler auftrat.
dedlfix.