Не удается включить 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 после каждого внесенного изменения.

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

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

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

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

  1. Раскомментировать extension = php_ldap.dll в php.ini
  2. ВАЖНО: Убедитесь, что вы редактируете правильно php.ini, проверив вывод phpinfo()
  3. Проверьте файл php.ini для расположения вашего каталога расширений
  4. Проверьте, что php_ldap.dll находится в этом каталоге
  5. ( ШАГ, КОТОРЫЙ я ПРОПУСТИЛ) Найдите файлы libeay32.dll и ssleay32.dll и добавьте их каталог в ПУТЬ к Windows
  6. Перезагрузите Apache. Если LDAP включен, в выходных данных phpinfo() будет раздел об этом
Author: David Cain, 2012-01-12

2 answers

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

 10
Author: Frank Farmer, 2012-01-12 23:05:53

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

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

 4
Author: alexkb, 2015-04-30 00:43:43