Не удается включить 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:
- Раскомментировать
extension = php_ldap.dll
вphp.ini
-
ВАЖНО: Убедитесь, что вы редактируете правильно
php.ini
, проверив выводphpinfo()
- Проверьте файл
php.ini
для расположения вашего каталога расширений - Проверьте, что
php_ldap.dll
находится в этом каталоге - ( ШАГ, КОТОРЫЙ я ПРОПУСТИЛ) Найдите файлы
libeay32.dll
иssleay32.dll
и добавьте их каталог в ПУТЬ к Windows - Перезагрузите Apache. Если LDAP включен, в выходных данных
phpinfo()
будет раздел об этом
2 answers
Здесь есть несколько подсказок: http://php.net/manual/en/ldap.installation.php . Примечание. Вам необходимо добавить две другие библиотеки DLL libeay32.dll
и ssleay32.dll
. Вам также может потребоваться скомпилировать с --with-ldap
Я следовал этим инструкциям, но все еще не мог загрузить 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, проблема была решена. Надеюсь, это может помочь кому-то еще из.