Набор тестов для модуля OCI8 располагается в директории ext/oci8/tests. После запуска тестов модуля OCI8 этот каталог также будет содержать журналы сбоев.
Перед запуском тестов PHP необходимо отредактировать файл
details.inc и задать значения переменным
$user, $password и строке соединения $dbase. Набор тестов OCI8
был разработан с учётной записью
SYSTEM
. Некоторые тесты не будут выполняться, если
у тестирующего пользователя нет аналогичных разрешений.
Если тестируется пул резидентных подключений к базе данных Oracle
(Database Resident Connection Pooling), необходимо установить для переменной
$test_drcp значение true
и проверить, что в строке
соединения установили сервер, который соответствует пулу 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 запускается на тех же машинах, что и база данных Orcale, можно запустить:
$ . /usr/local/bin/oraenv
В Oracle 11gR2 XE выполняют:
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
Отдельные оболочки требуют, чтобы в файле php.ini параметр
variables_order содержал литеру E
, например:
variables_order = "EGPCS"
Запуск всех PHP-тестов выполняют командой:
$ cd your_php_src_directory $ make test
$ cd your_php_src_directory $ make test TESTS=ext/oci8
После завершения тестов просмотрите журналы на наличие ошибок.
На медленных системах отдельные тесты выполняются дольше, чем время ожидания теста
по умолчанию, которое указали в файле run-tests.php.
Чтобы это исправить, переменной окружения TEST_TIMEOUT
устанавливают большее количество секунд.
На быстрых машинах с локальной базой данных, которую настроили на небольшую нагрузку
(например, Oracle 11gR2 XE), часть тестов завершится
неудачно с ошибками ORA-12516 или ORA-12520. Чтобы предотвратить это,
значение параметра базы данных PROCESSES
увеличивают
следующими действиями:
Подключиться к базе данных в роли суперпользователя:
$ su - oracle
Установить необходимое окружение Oracle через сценарии oracle_env.sh или oraenv, как описали предыдущие параграфы.
Запустить утилиту командной строки SQL*Plus и увеличить значение
параметра PROCESSES
$ sqlplus / as sysdba SQL> alter system set processes=100 scope=spfile
Перезапустить базу данных:
SQL> startup force