PHP 8.5.0 Alpha 2 available for testing

oci_password_change

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_password_changeModifica la contraseña de un usuario Oracle

Descripción

oci_password_change(
    resource $connection,
    string $username,
    string $old_password,
    string $new_password
): bool
oci_password_change(
    string $database_name,
    string $username,
    string $old_password,
    string $new_password
): resource

Modifica la contraseña del usuario username.

La función oci_password_change() es más útil con scripts PHP en línea de comandos, o cuando se utilizan conexiones no persistentes en la aplicación PHP.

Parámetros

connection

Un identificador de conexión Oracle, devuelto por la función oci_connect() o la función oci_pconnect().

username

El nombre de usuario Oracle.

old_password

La contraseña antigua.

new_password

La nueva contraseña a establecer.

database_name

El nombre de la base de datos.

Valores devueltos

Cuando database_name es proporcionado, oci_password_change() devuelve true en caso de éxito, o false si ocurre un error. Cuando connection es proporcionado, oci_password_change() devuelve el recurso de conexión en caso de éxito, o false si ocurre un error.

Ejemplos

Ejemplo #1 Ejemplo con oci_password_change() para cambiar la contraseña de un usuario ya conectado

<?php

$dbase
= 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
oci_password_change($c, $user, $current_pw, $new_pw);
echo
"La nueva contraseña es: " . $new_pw . "\n";

?>

Ejemplo #2 Ejemplo con oci_password_change() para conectarse y cambiar la contraseña en una sola etapa

<?php

$dbase
= 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
if (!
$c) {
$m = oci_error();
if (
$m['code'] == 28001) { // "ORA-28001: La contraseña ha expirado"
// Conexión y cambio de contraseña en una etapa
$c = oci_password_change($dbase, $user, $current_pw, $new_pw);
if (
$c) {
echo
"La nueva contraseña es: " . $new_pw . "\n";
}
}
}

if (!
$c) { // El error original no era 28001, o el cambio de contraseña falló
$m = oci_error();
trigger_error('No se pudo conectar a la base de datos: '. $m['message'], E_USER_ERROR);
}

// Uso de la conexión $c
// ...

?>

Notas

Nota:

Cambiar la contraseña, con esta función, o directamente en Oracle debe hacerse con precaución. Esto se debe a que las aplicaciones PHP podrían seguir utilizando conexiones persistentes con la contraseña antigua. La mejor práctica es reiniciar todos los servidores web una vez que la contraseña ha sido cambiada.

Nota:

Si se actualizan las bibliotecas cliente o la base de datos Oracle desde una versión anterior a 11.2.0.3 a una versión 11.2.0.3 o superior, la función oci_password_change() puede devolver el error "ORA-1017: invalid username/password" hasta que las versiones del cliente y del servidor sean idénticas.

Nota:

La segunda sintaxis de oci_password_change() está disponible desde la versión de OCI8 1.1.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top