|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-08-13 13:19 UTC] Alex_Diedler at gmx dot de
Description:
------------
A Login make a request to LDAP-Server for User-Authentication.
The code is very simple, but it doesn?t work on Linux.
ldap_connect works fine on both (Windows and Linux)
ldap_bind anonymous works NOT on Linux! But on Windows works!
What?s the problem?
Reproduce code:
---------------
<?php
$ldaphost = "ldapserver.diedler.com";
$ldapport = 389;
// Verbindung zu LDAP
$ldapconn = ldap_connect( $ldaphost, $ldapport );
if ($ldapconn) {
echo "<li>It works!<br>";
}else {
echo "<li>Failed<br>";
}
$ldapbind = ldap_bind($ldapconn);
if ($ldapbind) {
echo "<li>anon. Bind works!<br>";
}else {
echo "<li>bind failed<br>";
}
?>
Expected result:
----------------
The same result like on windows. It should work fine!
Actual result:
--------------
I removed all packages from Linux with PHP and Apache and LDAP.
I installed Apache 1.3.28 with devel.
OpenLDAP Client V2 and ldap_devel.
PHP 4.3.8 from Homepage php.net.
Install with ./configure --with-mysql --with=apxs --with-ldap
Important: remember that the connect to LDAP Server works! So it is not a maschine problem!
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 20 21:00:01 2025 UTC |
Hello, The problem doesn?t seems to be in PHP. It?s a problem with the LDAP and SASL. From the bug-database: When you use OpenLDAP 2 or other libraries that use the new LDAP API, ldap_connect() will only create some state on the client, the server is not contacted until you later do an LDAP operation like search or bind. There are no DNS lookups either, so ldap_connect("jlkdsfjsdk") will be successful. This means that ldap_connect() will almost always return true, while later operations might very well fail. Another difference worth noting, is that for anonymous access there is no more need for ldap_bind(). You just do your search. This thread can be closed. Thanks and greetings Alexander