Загрузка класса Tiki Net_LDAP2

У меня возникла проблема, когда я попытался интегрировать тики с моим сервером LDAP. В test_ldap.php я написал код для отладки в соответствии с этим веб-сайтом (https://doc.tiki.org/LDAP%20authentication). Этот код вернул успех. Итак, я знаю, что мой LDAP работает нормально. у меня проблема в

$entry = Net_LDAP2_Entry::createConnected($this->_ldap, $this->_entry);

В функции shiftEntry в Search.php. Когда я возвращаю здесь отладку, она переходит к ClassLoader.php и переходит к

register_shutdown_function(function () {
TikiLib::events()->trigger('tiki.process.shutdown', []);});

На мой взгляд, может проблема в

spl_autoload_call

Функция spl_autoload_call с именем Net_LDAP2, которая расширяет PEAR где-то перед этой строкой в ​​Search.php. Это приведет и к Net_LDAP2, и к PEAR, и к PEAR_ERROR... Затем, когда дело доходит до класса Net_LDAP2_Entry, он также загрузит PEAR.... Создаст ли это фатальную ошибку?

У меня постоянно пустой экран в тике. Пробовал вырезать код из Search.php в test_ldap.php для проверки. У него такая же проблема.

Я использую: Версия 16.2 ОС: Clear OS Спасибо за помощь. Я сейчас заблокирован.


person Tommy    schedule 18.07.2017    source источник


Ответы (1)


Я думаю, это может быть хорошим началом: https://dev.tiki.org/item6283. Если вы посмотрите в комментариях albertgi, он заявляет об изменении имен некоторых функций в PEAR.php. У меня были проблемы с интеграцией LDAP, и это была одна из ключевых проблем.

person Dave    schedule 19.07.2017
comment
Спасибо. Я обнаружил, что проблема в том, что конструктор в Net/LDAP2/Entry.php объявлен защищенным. Это вызывает фатальную ошибку PHP. После перехода с защищенного на общедоступный он теперь работает. - person Tommy; 20.07.2017