I can remote access in using the admin username and password which I'm using the same username and password in the script. but I get the following error
Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server in
Could not bind to the server. Check the username/password. Server Response: Error Number: -1 Description: Can't contact LDAP server
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
// Username used to connect to the server
$username = "Administrator";
// Password of the user.
$password = "password";
// Either an IP or a domain.
$ldap_server = "10.10.10.10";
// Get a connection
$ldap_conn = ldap_connect($ldap_server);
// Set LDAP_OPT_PROTOCOL_VERSION to 3
ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set LDAP Protocol version");
// Authenticate the user and link the resource_id with
// the authentication.
if($ldapbind = ldap_bind($ldap_conn, $username, $password) == true)
{
// Setup the data that will be used to create the user
// This is in the form of a multi-dimensional
// array that will be passed to AD to insert.
$adduserAD["cn"] = "testuser";
$adduserAD["sn"] = "User";
$adduserAD["samaccountname"] = "testuser";
$adduserAD["objectClass"] = "user";
$adduserAD["displayname"] = "Test User";
$adduserAD["userPassword"] = "Welcome123!";
$adduserAD["userAccountControl"] = 544;
$base_dn = "cn=testuser,cn=Users,DC=testdomain,DC=com";
// Display some "waiting" text.
echo "Trying to add the user to the system ...<br>";
// Attempt to add the user with ldap_add()
if(ldap_add($ldap_conn, $base_dn, $adduserAD) == true)
{
// The user is added and should be ready to be logged
// in to the domain.
echo "User added!<br>";
}else{
// This error message will be displayed if the user
// was not able to be added to the AD structure.
echo "Sorry, the user was not added.<br>Error Number: ";
echo ldap_errno($ldap_conn) . "<br />Error Description: ";
echo ldap_error($ldap_conn) . "<br />";
}
}else{
echo "Could not bind to the server. Check the username/password.<br />";
echo "Server Response:"
// Error number.
. "<br />Error Number: " . ldap_errno($ldap_conn)
// Error description.
. "<br />Description: " . ldap_error($ldap_conn);
}
// Always make sure you close the server after
// your script is finished.
ldap_close($ldap_conn);
?>
ldap_connect($ldap_server);without specifying $port so the connection defaults with ldap:// protocol on port 389. Your server may require ldaps:// protocol (usually on port 636), or even StartTLS over ldap:// on port 389 (-Z option on cmd line), anyway if you need SSL/TLS, check that you have a copy of the CA certificate on your client machines. - EricLavault