Test

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é développée 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 il faut s'assurer 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
À noter que suivant les shells utilisés, ces variables ne seront pas forcément propagées jusqu'au processus PHP et le test échouera au niveau de la connexion si cette méthode est utilisée.

Puis, définissez tous les environnements nécessaires à la base de données Oracle. Si on exécute PHP sur la même machine que la base de données Oracle, il est possible de faire :

    $ . /usr/local/bin/oraenv

Avec Oracle 11gR2 XE, faites :

    $ . /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écuter tous les tests PHP avec la commande :

    $ cd your_php_src_directory
    $ make test
ou exécutez uniquement les tests OCI8 avec la commande :
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

Lorsque les tests sont terminés, il est possible d'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 (c.-à-d. 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éfinir l'environnement nécessaire à Oracle grâce au fichier oracle_env.sh ou oraenv, tel que défini ci-dessus.

Démarrer l'utilitaire en ligne de commande SQL*Plus et augmenter la valeur du paramètre PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Redémarrer la base de données :

    SQL> startup force

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top