Files
doc-fr/reference/oci8/testing.xml
2024-05-10 14:12:23 +01:00

157 lines
4.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: yannick Status: ready -->
<!-- Reviewed: no Maintainer: mikaelkael -->
<section xml:id="oci8.test" xmlns="http://docbook.org/ns/docbook">
<title>Test</title>
<para>
La suite permettant de tester OCI8 se trouve dans le dossier
<filename>ext/oci8/tests</filename>.
Après avoir effectué les tests OCI8, ce dossier contiendra, en plus,
les fichiers de journalisation permettant de tracer l'ensemble des erreurs
produites.
</para>
</section>
<section>
<para>
Avant d'effectuer les tests PHP, éditez le fichier
<filename>details.inc</filename> et définissez les variables de
connexion $user, $password et $dbase. La suite de test OCI8 a été developpé
en utilisant le compte <literal>SYSTEM</literal>. Quelques tests
échoueront si l'utilisateur choisi pour effectuer le test n'a
pas des permissions équivalentes à ce compte.
</para>
<para>
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é.
</para>
<para>
Une alternative à l'édition du fichier <filename>details.inc</filename>
est de définir les variables d'environnement, par exemple :
<programlisting>
<![CDATA[
$ 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
]]>
</programlisting>
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.
</para>
<para>
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 :
<programlisting>
<![CDATA[
$ . /usr/local/bin/oraenv
]]>
</programlisting>
</para>
<para>
Avec Oracle 11<emphasis>g</emphasis>R2 XE, faîtes :
<programlisting>
<![CDATA[
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
]]>
</programlisting>
</para>
<para>
Quelques shells nécessitent que le fichier &php.ini; ait un
<literal>E</literal> dans le paramètre variables_order, par exemple :
<programlisting>
<![CDATA[
variables_order = "EGPCS"
]]>
</programlisting>
</para>
<para>
Exécutez tous les tests PHP avec la commande :
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test
]]>
</programlisting>
ou exécutez uniquement les tests OCI8 avec la commande :
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test TESTS=ext/oci8
]]>
</programlisting>
</para>
<para>
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 <filename>run-tests.php</filename>. Pour corriger ceci,
définissez la variable d'environnement <literal>TEST_TIMEOUT</literal>
à une valeur plus grande.
</para>
<para>
Sur les machines rapides dont la base de données locale est configurée
pour une charge minimale (i.e. Oracle 10<emphasis>g</emphasis>R2 XE), quelques tests peuvent
échouer avec des erreurs ORA-12516 ou ORA-12520. Pour prévenir ce
comportement, augmentez le paramètre <literal>PROCESSES</literal> de la base
de données en utilisant les étapes suivantes :
</para>
<para>
Connexion avec l'utilisateur oracle :
<programlisting>
<![CDATA[
$ su - oracle
]]>
</programlisting>
</para>
<para>
Définissez l'environnement nécessaire à Oracle grâce au fichier
<filename>oracle_env.sh</filename> ou
<filename>oraenv</filename>, tel que définit ci-dessus.
</para>
<para>
Démarrez l'utilitaire en ligne de commande SQL*Plus et augmentez la valeur
du paramètre <literal>PROCESSES</literal>
<programlisting>
<![CDATA[
$ sqlplus / as sysdba
SQL> alter system set processes=100 scope=spfile
]]>
</programlisting>
</para>
<para>
Redémarrez la base de données :
<programlisting>
<![CDATA[
SQL> startup force
]]>
</programlisting>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->