mirror of
https://github.com/php/doc-ru.git
synced 2025-07-22 18:26:31 +00:00
149 lines
5.9 KiB
XML
149 lines
5.9 KiB
XML
<?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
|
||
-->
|