(PHP 7 >= 7.2.0, PHP 8)
ldap_exop_passwd — Facilitador para operação estendida PASSWD
$ldap,$user = "",$old_password = "",$new_password = "",&$controls = nullRealiza uma operação estendida PASSWD.
ldapUma instância de LDAP\Connection, retornada por ldap_connect().
userDN do usuário que terá a senha alterada.
old_passwordA senha antiga do usuário. Pode ser omitida dependendo da configuração do servidor.
new_passwordA nova senha deste usuário. Pode ser omitida ou vazia para geração de uma senha.
controlsSe fornecido, um contrlo de requisição de política de senhas é enviado com a requisição e esta variável é preenchida com um array de Controles LDAP retornados com a requisição.
    Retorna a senha gerada se new_password estava vazia ou foi omitida.
    Caso contrário retorna true em caso de sucesso ou false em caso de falha.
  
| Versão | Descrição | 
|---|---|
| 8.1.0 | O parâmetro ldapagora espera uma instância de LDAP\Connection;
  anteriormente, um resourceldap linkválido era esperado. | 
| 8.0.0 | O parâmetro controlsagora pode ser nulo; anteriormente, o padrão era[]. | 
| 7.3.0 | Adicionado suporte a controls. | 
Exemplo #1 Operação estendida PASSWD
<?php
$ds = ldap_connect("localhost");  // assumindo que o servidor LDAP é local
if ($ds) {
    // faz ligação com o dn apropriado para dar acesso de atualização
    $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
    if (!$bind) {
      echo "Não foi possível fazer ligação com o servidor LDAP";
      exit;
    }
    // usa a operação estendida PASSWD para mudar a senha do usuário por uma senha gerada
    $genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
    if ($genpw) {
      // usa a senha gerada para fazer ligação
      $bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
    }
    // retorna a senha para "secret"
    ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");
    ldap_close($ds);
} else {
    echo "Não foi possível conexão com o servidor LDAP";
}
?>
