Files
php-doc-ru/reference/oci8/functions/oci-password-change.xml
2023-06-20 12:12:04 +03:00

203 lines
7.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 78be3d554eca2e35b0e7cdbfb3aaba62bacdc336 Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.oci-password-change" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>oci_password_change</refname>
<refpurpose>Изменяет пароль пользователя Oracle</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>oci_password_change</methodname>
<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>username</parameter></methodparam>
<methodparam><type>string</type><parameter>old_password</parameter></methodparam>
<methodparam><type>string</type><parameter>new_password</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>resource</type><methodname>oci_password_change</methodname>
<methodparam><type>string</type><parameter>database_name</parameter></methodparam>
<methodparam><type>string</type><parameter>username</parameter></methodparam>
<methodparam><type>string</type><parameter>old_password</parameter></methodparam>
<methodparam><type>string</type><parameter>new_password</parameter></methodparam>
</methodsynopsis>
<para>
Изменяет пароль пользователя, указанного в <parameter>username</parameter>.
</para>
<para>
Функция <function>oci_password_change</function> особенно полезна для скриптов PHP
командной строки или при использовании непостоянных соединений во всем приложении PHP.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
<para>
Идентификатор соединения, возвращаемый функцией
<function>oci_connect</function> или <function>oci_pconnect</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>username</parameter></term>
<listitem>
<para>
Имя пользователя Oracle.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>old_password</parameter></term>
<listitem>
<para>
Старый пароль.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>new_password</parameter></term>
<listitem>
<para>
Новый пароль.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>database_name</parameter></term>
<listitem>
<para>
Имя базы данных.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Если указан параметр <parameter>database_name</parameter>, <function>oci_password_change</function> возвращает &true; в случае успешного выполнения&return.falseforfailure;.
Если указан параметр <parameter>connection</parameter>, <function>oci_password_change</function> возвращает ресурс соединения в случае успешного выполнения&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>oci_password_change</function> с изменением пароля уже подключённого пользователя</title>
<programlisting role="php">
<![CDATA[
<?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_pw . "\n";
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Пример использования <function>oci_password_change</function> с подключением и изменением пароля одновременно</title>
<programlisting role="php">
<![CDATA[
<?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"
// Подключение и сброс пароля одновременно
$c = oci_password_change($dbase, $user, $current_pw, $new_pw);
if ($c) {
echo "Новый пароль : " . $new_pw . "\n";
}
}
}
if (!$c) { // Ошибка не совпадала с 28001, или не получилось изменить пароль
$m = oci_error();
trigger_error('Не удалось подключиться к базе данных: '. $m['message'], E_USER_ERROR);
}
// Использование подключения $c
// ...
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Изменение пароля с помощью этой функции или непосредственно в Oracle
должно выполняться аккуратно, поскольку PHP-приложение может продолжать
использовать в постоянных соединениях данные аутентификации последнего удачного подключения,
которые уже устарели. Наилучшим решением может быть перезапуск всех веб-серверов после
смены пароля.
</para>
</note>
<note>
<para>
При обновлении библиотеки клиента Oracle или базы данных от версии установки до
версии 11.2.0.3 и выше функция <function>oci_password_change</function> может
вернуть ошибку "ORA-1017: invalid username/password" (Неверные имя пользователя/пароль),
если версии и клиента и сервера обновлены в одно время.
</para>
</note>
<note>
<para>
Второй набор параметров функции <function>oci_password_change</function> доступен
начиная с версии OCI8 1.1.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->