Làm cách nào để bật LDAP trong PHP?

Bản thân kết nối với LDAP trong PHP không phải là nhiệm vụ dễ dàng. Mọi thứ thậm chí còn phức tạp hơn nếu bạn đang làm việc trong môi trường XAMPP trên Windows. Nó hy vọng bài viết này sẽ giúp bạn thoát khỏi bế tắc, nếu bạn đang mắc kẹt với những điều tương tự

Theo kinh nghiệm của chúng tôi, trong một tình huống rất hiếm gặp, chúng tôi được yêu cầu sử dụng Windows Active Directory hoặc OpenLdap làm cơ sở dữ liệu người dùng của chúng tôi trong WordPress. Chúng ta cần kích hoạt mô-đun php ldap trong XAMPP. Theo mặc định, mô-đun php ldap này không được bật trong XAMPP vì hầu hết các máy chủ web không sử dụng ldap làm cơ sở dữ liệu hoặc thư mục của chúng. Thực hiện theo các bước đơn giản sau để kích hoạt mô-đun này

Để sử dụng hỗ trợ LDAP trong PHP được cung cấp trong Windows, bạn cần có ba thư viện

libsasl.dll
ssleay32.dll
libeay32.dll

Bạn phải đặt chúng vào thư mục system32, nếu bạn đang phục vụ PHP của mình thông qua XAMPP

Bạn cần phải có libsasl. thư viện dll không chỉ dành cho PHP 4 rất cũ. 3 tuổi trở lên. Ngay cả các phiên bản mới nhất của PHP 5. 3 trở lên yêu cầu lib này

Điều kỳ lạ hơn nữa, tôi đã có thư viện này [cùng với ssleay32 bắt buộc. dll và libeay32. dll] trong thư mục PHP của tôi và thư mục PHP của tôi được liệt kê trong biến PATH của Windows. Và ngay cả như vậy, tôi đang phải đối mặt với vấn đề Apache không khởi động được. Tôi tìm thấy cách giải quyết duy nhất là sao chép libsasl. dll vào thư mục hệ thống system32

Kích hoạt hỗ trợ

Bạn phải chỉnh sửa php của bạn. ini và bỏ ghi chú extension=php_ldap. dòng dll. Sau đó, bạn phải khởi động lại máy chủ Apache/XAMPP của mình

Nếu bạn không có các thư viện nêu trên, lần chạy tiếp theo của máy chủ sẽ bị lỗi với thông tin, thư mục nào bị thiếu. XAMPP mới nhất chứa các thư viện này trong thư mục php của XAMPP, vì vậy bạn chỉ cần sao chép chúng vào thư mục system32, vì một lý do kỳ lạ nào đó, các thư viện trong php của XAMPP không được tải, mặc dù tất cả chúng đều nằm trong biến môi trường hệ thống PATH

Sao chép tất cả các thư viện này [hoặc chỉ libsasl. dll, như nhiều chương trình khác đang sử dụng ssleay32. dll và libeay32. dll và một trong số chúng có thể đã đặt hai lib này] vào thư mục system32 của bạn

1. 1 Nếu PHP của bạn đã có php_ldap. dll, bạn có thể mở php. ini, tìm thư mục";extension=php_ldap. dll" và lưu tệp sau khi xóa dấu ";"

1. 2 Nếu bạn không có php_ldap. dll, trước tiên hãy tìm các tệp PHP trực tuyến phù hợp và đặt nó vào thư mục thích hợp, sau đó lặp lại hướng dẫn đã đề cập ở trên

1. 3 Khởi động lại Apache

2. Cài đặt LDAP trong Linux

2. 1 Nếu PHP của bạn đã được biên dịch và cài đặt, bạn cần thêm phần "--with-ldap" để biên dịch lại cài đặt. 2. 2 Nếu PHP của bạn được cài đặt thông qua trình quản lý gói Linux, bạn có thể cài đặt php_ldap thông qua trình quản lý gói. Lấy Debian làm ví dụ, triển khai apt-get install php5-ldap

2. 3 Khởi động lại Apache

3. Kiểm tra cài đặt

Mở màn hình kiểm tra phpinfo[]. Nếu bạn có thể thấy ảnh chụp màn hình sau, điều đó có nghĩa là quá trình cài đặt đã hoàn tất

I can confirm Frank's note [made 1 year ago, see below] about requirement of "libsasl.dll" library. I have "PHP Version 5.4.7" and my Apache fails to restart with error saying, that "libsasl.dll" is missing, once I enable php_ldap.dll extension in PHP configuration.

What is even more strange, I DO HAVE this library [along with required "ssleay32.dll" and "libeay32.dll" in my PHP's directory and my PHP's directory IS listed in Windows' PATH variable and even so, I'm facing the problem of Apache failing to start.

The only workaround, I found is to copy "libsasl.dll" to "system32" system directory. Solution, that PHP documentation here discourages.

So, to summarize, section "Note to Win32 users" is twice wrong. You DO have to have "libsasl.dll" directory and you have to place it in your system folder.

Bước 1

Đã tải tệp cấu hình. C. \xampp\php\php. ban đầu

  • mở php. ini từ đường dẫn tệp trên

Bước 2

Đối với người dùng Windows sử dụng Máy chủ Apache

  • Tìm kiếm tiện ích mở rộng=php_ldap. dll trong php. tập tin ini. Bỏ ghi chú dòng này, nếu không có thì thêm dòng này vào tệp và lưu tệp

Đối với người dùng Windows sử dụng máy chủ IIS

  • Tìm kiếm ExtensionList trong php. tập tin ini. Bỏ ghi chú extension=php_ldap. dll dòng, nếu không có thì thêm dòng này vào tệp và lưu tệp

Đối với người dùng Linux

  • Cài đặt tiện ích mở rộng php ldap [Nếu chưa cài đặt]
    • Đối với Debian, lệnh cài đặt sẽ là apt-get install php-ldap
    • Đối với các hệ thống dựa trên RHEL, lệnh sẽ là yum install php-ldap
  • Tìm kiếm tiện ích mở rộng=php_ldap. vậy trong php. tập tin ini. Bỏ ghi chú dòng này, nếu không có thì thêm dòng này vào tệp và lưu tệp

Bước 3

  • Khởi động lại máy chủ của bạn. Sau đó làm mới trang cấu hình plugin LDAP/AD

Làm cách nào để bật Ldaps cho PHP?

Hỗ trợ LDAP trong PHP không được bật theo mặc định. Bạn sẽ cần phải sử dụng tùy chọn cấu hình --with-ldap[=DIR] khi biên dịch PHP để kích hoạt hỗ trợ LDAP . DIR là thư mục cài đặt cơ sở LDAP. Để bật hỗ trợ SASL, hãy đảm bảo --with-ldap-sasl[=DIR] được sử dụng và sasl đó.

Làm cách nào để sử dụng LDAP trong PHP?

Giao thức truy cập thư mục nhẹ ¶ .
ldap_8859_to_t61 — Dịch 8859 ký tự thành t61 ký tự
ldap_add_ext - Thêm các mục vào thư mục LDAP
ldap_add - Thêm các mục vào thư mục LDAP
ldap_bind_ext — Liên kết với thư mục LDAP
ldap_bind — Liên kết với thư mục LDAP
ldap_close — Bí danh của ldap_unbind

Làm cách nào để bật LDAP trong PHP trên Ubuntu?

Tìm kiếm ExtensionList trong php. tệp ini. Bỏ chú thích extension=php_ldap. dll, nếu không có thì thêm dòng này vào tệp và lưu tệp .

Làm cách nào để biết PHP có hỗ trợ LDAP không?

Bạn có thể thử và kiểm tra bằng extension_loaded[] như thế này. $buildWithLdap = extension_loaded['ldap']; hoặc cách tiếp cận xà beng khác, chỉ cần kiểm tra xem một trong các chức năng có tồn tại hay không. $buildWithLdap = function_exists['ldap_add'];

Chủ Đề