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. Si vous tournez PHP sur la même machine que la base de donnée Oracle, vous pouvez faire :
$ . /usr/local/bin/oraenv
Avec Oracle 11gR2 XE, faîtes :
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
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