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é 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 :
Notez 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 vous tournez PHP sur la même machine que la base de
donnée Oracle, vous pouvez faire :
Avec Oracle 11gR2 XE, faîtes :
Quelques shells nécessitent que le fichier &php.ini; ait un
E dans le paramètre variables_order, par exemple :
Exécutez tous les tests PHP avec la commande :
ou exécutez uniquement les tests OCI8 avec la commande :
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 :
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
alter system set processes=100 scope=spfile
]]>
Redémarrez la base de données :
startup force
]]>