La suite permettant de tester OCI8 se trouve dans le dossier ext/oci8/tests. Après avoir effectué les tests OCI8, ce dossier contiendra, en plus, les fichiers de journalisation permettant de tracer l'ensemble des erreurs produites.
Avant d'effectuer les tests PHP, éditez le fichier details.inc et définissez les variables de connexion $user, $password et $dbase. La suite de test OCI8 a été developpé en utilisant le compte SYSTEM. Quelques tests échoueront si l'utilisateur choisi pour effectuer le test n'a pas des permissions équivalentes à ce compte.
Si la file d'attente de connexion de la base de données Oracle
est testée, définissez la variable $test_drcp à TRUE
et assurez-vous
que la chaîne de connexion utilise un serveur de file d'attente DRCP
approprié.
Une alternative à l'édition du fichier details.inc est de définir les variables d'environnement, par exemple :
$ 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
Puis, définissez tous les environnements nécessaires à la base de données Oracle. Avec Oracle 10gR2 XE, faîtes :
$ . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
Avec Oracle 11gR2 XE, faîtes :
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
Pour les autres versions de la base de données Oracle, faîtes :
$ . /usr/local/bin/oraenv
Quelques shells nécessitent que le fichier php.ini ait un E dans le paramètre variables_order, par exemple :
variables_order = "EGPCS"
Exécutez tous les tests PHP avec la commande :
$ cd your_php_src_directory $ make test
$ cd your_php_src_directory $ make test TESTS=ext/oci8
Lorsque les tests sont terminés, vous pouvez alors investiguer sur les erreurs rencontrées. Sur les systèmes lents, quelques tests peuvent prendre plus de temps que le délai maximal d'exécution défini dans le fichier run-tests.php. Pour corriger ceci, définissez la variable d'environnement TEST_TIMEOUT à une valeur plus grande.
Sur les machines rapides dont la base de données locale est configurée pour une charge minimale (i.e. Oracle 10gR2 XE), quelques tests peuvent échouer avec des erreurs ORA-12516 ou ORA-12520. Pour prévenir ce comportement, augmentez le paramètre PROCESSES de la base de données en utilisant les étapes suivantes :
Connexion avec l'utilisateur oracle :
$ su - oracle
Définissez l'environnement nécessaire à Oracle grâce au fichier oracle_env.sh ou oraenv, tel que définit ci-dessus.
Démarrez l'utilitaire en ligne de commande SQL*Plus et augmentez la valeur du paramètre PROCESSES
$ sqlplus / as sysdba SQL> alter system set processes=100 scope=spfile
Redémarrez la base de données :
SQL> startup force