Files
php-doc-ru/reference/oci8/testing.xml
2021-12-23 10:48:40 +03:00

154 lines
6.4 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: 5fcbcd6b56477034278a2199a8819635f3a0d9b9 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<section xml:id="oci8.test">
<title xmlns="http://docbook.org/ns/docbook">Тестирование</title>
<section xml:id="oci8.testing" xmlns="http://docbook.org/ns/docbook">
<para>
Набор тестов для OCI8 находится в директории
<filename>ext/oci8/tests</filename>. После прогона этих тестов, в этой
директории также окажутся файлы журналов произошедших событий и ошибок.
</para>
</section>
<section>
<para>
Перед запуском тестов необходимо отредактировать файл
<filename>details.inc</filename> и задать значения переменным
$user, $password и строке соединения $dbase. Набор тестов OCI8
разрабатывался с использованием учётной записи
<literal>SYSTEM</literal>. Некоторые тесты не будут выполняться, если
у тестирующего пользователя нет аналогичных прав доступа.
</para>
<para>
Для тестирования функции Oracle создания пулов соединений
(Database Resident Connection Pooling) необходимо установить переменную
$test_drcp в &true;, а также убедитесь, что в строке
соединения задан соответствующий адрес DRCP сервера.
</para>
<para>
В качестве альтернативы редактированию файла
<filename>details.inc</filename> можно задать значения переменным
окружения, например:
<programlisting>
<![CDATA[
$ export PHP_OCI8_TEST_USER=system
$ export PHP_OCI8_TEST_PASS=oracle
$ export PHP_OCI8_TEST_DB=localhost/XE
$ export PHP_OCI8_TEST_DRCP=FALSE
]]>
</programlisting>
Обратите внимание, что в некоторых оболочках эти переменные могут
неправильно транслироваться в PHP процесс, и в тестах будут возникать
ошибки подключения к базе данных. Будьте аккуратны при использовании этого
метода настройки модуля.
</para>
<para>
Далее необходимо задать окружение базы данных Oracle. Если вы используете PHP
на тех же машинах, что и Oracle Database, вы можете запустить:
<programlisting>
<![CDATA[
$ . /usr/local/bin/oraenv
]]>
</programlisting>
</para>
<para>
Для Oracle 11<emphasis>g</emphasis>R2 XE:
<programlisting>
<![CDATA[
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
]]>
</programlisting>
</para>
<para>
Некоторые оболочки требуют, чтобы в &php.ini; параметр
variables_order содержал литеру <literal>E</literal>, например:
<programlisting>
<![CDATA[
variables_order = "EGPCS"
]]>
</programlisting>
</para>
<para>
Запуск всех PHP тестов можно осуществить командой:
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test
]]>
</programlisting>
либо можно запустить только OCI8 тесты:
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test TESTS=ext/oci8
]]>
</programlisting>
</para>
<para>
По завершении тестирования, просмотрите журналы на наличие ошибок.
На слабых машинах время выполнения некоторых тестов может превысить
значение настройки времени ожидания в файле <filename>run-tests.php</filename>.
Чтобы это исправить, задайте переменной окружения
<literal>TEST_TIMEOUT</literal> значение побольше (значение в секундах).
</para>
<para>
На быстрых вычислительных системах с локальной базой данных, рассчитанных
на небольшие нагрузки (например, Oracle 11<emphasis>g</emphasis>R2 XE), некоторые тесты могут
вызывать ORA-12516 или ORA-12520 ошибки. Для их предотвращения необходимо
увеличить значение параметра базы данных <literal>PROCESSES</literal>
по инструкции ниже:
</para>
<para>
Подключиться к базе данных в роли суперпользователя:
<programlisting>
<![CDATA[
$ su - oracle
]]>
</programlisting>
</para>
<para>
Задать необходимое окружение с помощью сценариев
<filename>oracle_env.sh</filename> или
<filename>oraenv</filename>, как описано выше.
</para>
<para>
Запустить утилиту командной строки SQL*Plus и увеличить значение
<literal>PROCESSES</literal>
<programlisting>
<![CDATA[
$ sqlplus / as sysdba
SQL> alter system set processes=100 scope=spfile
]]>
</programlisting>
</para>
<para>
Перезапустить базу данных:
<programlisting>
<![CDATA[
SQL> startup force
]]>
</programlisting>
</para>
</section>
</section>
<!-- 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
-->