Доброе утро, ребята,
У меня есть несколько сценариев, которые общаются с корпоративным LDAP (MS Active Directory). Я обнаружил, что если я не ограничиваю свои скрипты командами sleep (), я получаю следующую ошибку:
Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in..
То, что делает большинство моих сценариев, - это получать элементы объектов Active Directory, а затем находить элементы этих результатов.
У меня есть функция, называемая getMembers (), которая вызывает себя при запуске через извлеченные элементы, пока не останется результатов.
Я обнаружил, что должен:
sleep(1);
getMembers();
Чтобы моя привязка не потерпела неудачу и истекло время ожидания.
Мне интересно, есть ли лучший способ выбить дерьмо из ldap, не вышибая меня на полпути через мои сценарии. 1-секундная пауза приведет к тому, что моему сценарию потребуется 97 часов для обработки всех его элементов, и я хотел бы сократить это время вдвое, чтобы я мог запустить его в выходные дни.
Спасибо
РЕДАКТИРОВАТЬ --------------------------
Итак, в ходе исследований я обнаружил, что в LDAP существует ограничение в 1000 записей, а PHP не может выводить результаты из LDAP. Благодаря тому, что я запрашиваю LDAP (1 запрос за раз), я могу рассчитывать на каждую итерацию, которая вызывает LDAP, и когда этот счетчик достигает 900 или около того, я сплю на минуту. Таким образом, я получаю больше результатов. Однако я не смог найти решение для подкачки ldap в PHP.