1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files
archived-doc-ja/reference/oci8/testing.xml
2024-05-12 12:09:31 +09:00

143 lines
4.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: takagi Status: ready -->
<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 を Oracle データベースと同じマシンで実行している場合、以下を実行します。
<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 parameter
パラメータに <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>
Oracle ソフトウェアのオーナーとして接続します。
<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
-->