Не удалось включить PHP LDAP, хотя я редактировал php.ini и php_ldap.dll в нужном месте? - программирование

Не удалось включить PHP LDAP, хотя я редактировал php.ini и php_ldap.dll в нужном месте?

Я уже давно работаю с установкой WAMP с поддержкой LDAP, и все идет гладко. Теперь, хотя мне нужно настроить другую машину, и по какой-то причине я не могу включить LDAP.

Я проверил вывод phpinfo(), а в разделе LDAP этого не было. Я отредактировал php.ini, чтобы раскомментировать строку:

extension = php_ldap.dll

Я также проверил поиск пути к файлам для расширений и файл php_ldap.dll находится в нужном месте.

Я уверен, что редактирую правильный файл php.ini, так как я проверил путь к файлу, отображаемый phpinfo(), а также могу успешно включить/отключить другие расширения.

Я перезагрузил Apache после каждого внесенного изменения.

В то время как Googling это, единственными найденными решениями были те, что были выше, плюс один или два упоминания об изменении переменной Windows PATH, чтобы включить путь к php.ini? Попытался, хотя это и не имело для меня смысла (как я уже знаю, php.ini анализируется). Я также проверил мою предыдущую установку на другом компьютере и из того, что я вижу, я никогда не добавлял никакие каталоги PHP к PATH на этой машине

Редактировать с полным ответом

Ответ Фрэнк ниже привел меня к решению, поэтому я подумал, что теперь буду консолидировать все.

Чтобы включить поддержку LDAP на сервере WAMP:

  • Uncomment extension = php_ldap.dll в php.ini
  • ВАЖНО. Убедитесь, что вы редактируете правый php.ini, проверяя вывод phpinfo()
  • Проверьте файл php.ini для расположения вашего каталога расширений
  • Убедитесь, что php_ldap.dll находится в этом каталоге
  • (ШАГ я НЕ ПРОПУСТИТЕ) Найдите файлы libeay32.dll и ssleay32.dll и добавьте их каталог в папку Windows PATH
  • Перезагрузите Apache. Если LDAP включен, там будет раздел об этом на выходе phpinfo()
4b9b3361

Ответ 1

Здесь есть несколько советов: http://php.net/manual/en/ldap.installation.php. Обратите внимание, что вам нужно добавить две другие DLL libeay32.dll и ssleay32.dll. Вам также может понадобиться компиляция с помощью --with-ldap

Ответ 2

Я следил за этими инструкциями, но по-прежнему не мог получить загрузку LDAP в phpinfo(). Журналы Apache показали при запуске следующее нефатальное сообщение: ######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0

В конце я снова посмотрел на phpinfo() и увидел, что вместо переменной пользователя PATH используется системная переменная PATH, и она не содержит правильный путь к корневой папке PHP и расширению PHP. Просто добавив их в ####\php\php5.4.16;####\php\php5.4.16\ext; и перезапустив Apache, решила проблему. Надеюсь, это поможет кому-то другому.

Ответ 3

Я использую phpstorm. если вы не можете найти комментарий, просто вставьте "extension = php_ldap.dll" внизу страницы php.ini. пожалуйста