テストOCI8 のテストスイートは ext/oci8/tests にあります。 OCI8 のテストを実行すると、テストが失敗したときのログがこのディレクトリに記録されます。
PHP のテストを実行する前に、details.inc
を編集して $user、$password と接続文字列 $dbase を編集します。
OCI8 のテストスイートでは
Oracle Database Resident Connection Pooling をテストする場合は
$test_drcp を details.inc を編集する以外の方法として、 次のように環境変数で設定することもできます。 $ 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 次に、Oracle データベース用の環境を適切に設定します。 PHP を Oracle データベースと同じマシンで実行している場合、以下を実行します。 $ . /usr/local/bin/oraenv Oracle 11gR2 XE の場合は次のようにします。 $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
シェルによっては、php.ini の variables_order parameter
パラメータに variables_order = "EGPCS" すべての PHP のテストを実行するには、次のようにします。 $ cd your_php_src_directory $ make test $ cd your_php_src_directory $ make test TESTS=ext/oci8
テストが終了したら、失敗したテストを見直します。
遅いシステムで実行した場合は、run-tests.php
のデフォルトのタイムアウトよりも長い時間がかかるテストも出てくるかもしれません。
その場合は、環境変数
高速なマシンで、軽量な設定のデータベース (Oracle 11gR2 XE など)
をローカルで動かしていると、いくつかのテストが
ORA-12516 あるいは ORA-12520 エラーで終了することがあります。
これを避けるには、データベースのパラメータ
Oracle ソフトウェアのオーナーとして接続します。 $ su - oracle Oracle 用の環境を、上で説明した oracle_env.sh あるいは oraenv で設定します。
SQL*Plus を立ち上げ、
$ sqlplus / as sysdba SQL> alter system set processes=100 scope=spfile データベースを再起動します。 SQL> startup force |