oci_password_change

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

oci_password_change — Oracle 사용자의 비밀번호 변경


설명

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
                

username이 있는 사용자의 비밀번호를 변경합니다.

oci_password_change() 함수는 PHP 명령줄 스크립트나 PHP 애플리케이션 전체에서 비영구적 연결이 사용되는 경우에 가장 유용합니다.


매개변수

connection
oci_connect() 또는 oci_pconnect()에 의해 반환된 Oracle 연결 식별자입니다.
username
Oracle 사용자 이름입니다.
old_password
이전 비밀번호입니다.
new_password
설정할 새 비밀번호입니다.
database_name
데이터베이스 이름입니다.

반환 값

connection이 제공되면 oci_password_change()가 성공하면 true를 반환하고 실패하면 false를 반환합니다. connection이 제공되면 oci_password_change()가 성공하면 연결 리소스를 반환하고 실패하면 false를 반환합니다.


Examples

예제 #1 이미 연결된 사용자의 비밀번호를 변경하는 oci_password_change() 예제

                  
<?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 "New password is : " . $new_pw . "\n";

?>
                    
                  

예제 #2 oci_password_change() 비밀번호를 한 번에 연결하고 변경하는 예

                   
<?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: the password has expired"
        // Login and reset password at the same time
        $c = oci_password_change($dbase, $user, $current_pw, $new_pw);
        if ($c) {
            echo "New password is : " . $new_pw . "\n";
        }
    }
}

if (!$c) {  // The original error wasn't 28001, or the password change failed
    $m = oci_error();
    trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}

// Use the connection $c
...

?>
                     
                   

노트

메모: 이 함수를 사용하거나 Oracle에서 직접 비밀번호를 변경할 때는 주의해야 합니다. 이는 PHP 응용 프로그램이 이전 암호로 인증하여 영구 연결을 계속 성공적으로 재사용할 수 있기 때문입니다. 가장 좋은 방법은 사용자 암호가 변경될 때마다 모든 웹 서버를 다시 시작하는 것입니다.

메모: Oracle 클라이언트 라이브러리 또는 데이터베이스를 11.2.0.3 이전 릴리스에서 버전 11.2.0.3 이상으로 업그레이드하는 경우 클라이언트와 서버 버전이 동시에 업그레이드되지 않는 한 oci_password_change()에서 "ORA-1017: 잘못된 사용자 이름/암호" 오류가 발생할 수 있습니다.

메모: 두 번째 oci_password_change() 구문은 OCI8 버전 1.1부터 사용할 수 있습니다.

메모: PHP 5.0.0 이전 버전에서는 대신 ocipasswordchange()을 사용해야 합니다. 이 이름은 여전히 ​​사용할 수 있으며 하위 호환성을 위해 password_change()의 별칭으로 남겨졌습니다. 그러나 이것은 더 이상 사용되지 않으며 권장되지 않습니다.