Files
php-doc-ru/reference/oci8/testing.xml
2024-05-10 00:09:12 +03:00

149 lines
5.9 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: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<section xml:id="oci8.test" xmlns="http://docbook.org/ns/docbook">
<title>Тестирование</title>
<para>
Набор тестов для модуля OCI8 располагается в директории
<filename>ext/oci8/tests</filename>. После запуска тестов модуля OCI8
этот каталог также будет содержать журналы сбоев.
</para>
<para>
Перед запуском тестов PHP необходимо отредактировать файл
<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
запускается на тех же машинах, что и база данных Orcale, можно запустить:
<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>
Установить необходимое окружение Oracle через сценарии
<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>
<!-- 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
-->