<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/oci8.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'oci8.test.php',
    1 => 'Test',
    2 => 'Test',
  ),
  'up' => 
  array (
    0 => 'oci8.setup.php',
    1 => 'Installation/Configuration',
  ),
  'prev' => 
  array (
    0 => 'oci8.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'oci8.configuration.php',
    1 => 'Configuration &agrave; l\'ex&eacute;cution',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/oci8/testing.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="oci8.test" class="section">
 <h2 class="title">Test</h2>
 <p class="para">
  La suite permettant de tester OCI8 se trouve dans le dossier
  <var class="filename">ext/oci8/tests</var>.
  Après avoir effectué les tests OCI8, ce dossier contiendra, en plus,
  les fichiers de journalisation permettant de tracer l&#039;ensemble des erreurs
  produites.
 </p>
 <p class="para">
  Avant d&#039;effectuer les tests PHP, éditez le fichier
  <var class="filename">details.inc</var> 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 <code class="literal">SYSTEM</code>. Quelques tests
  échoueront si l&#039;utilisateur choisi pour effectuer le test n&#039;a
  pas des permissions équivalentes à ce compte.
 </p>
 <p class="para">
  Si la file d&#039;attente de connexion de la base de données Oracle
  est testée, définissez la variable $test_drcp à <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> et il faut s&#039;assurer
  que la chaîne de connexion utilise un serveur de file d&#039;attente DRCP
  approprié.
 </p>
 <p class="para">
  Une alternative à l&#039;édition du fichier <var class="filename">details.inc</var>
  est de définir les variables d&#039;environnement, par exemple :
  <div class="example-contents">
<div class="cdata"><pre>
    $ 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
</pre></div>
  </div>

  À noter que suivant les shells utilisés, ces variables ne seront pas
  forcément propagées jusqu&#039;au processus PHP et le test échouera au niveau
  de la connexion si cette méthode est utilisée.
 </p>
 <p class="para">
 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 :
  <div class="example-contents">
<div class="cdata"><pre>
    $ . /usr/local/bin/oraenv
</pre></div>
  </div>

 </p>
 <p class="para">
  Avec Oracle 11<em>g</em>R2 XE, faites :
  <div class="example-contents">
<div class="cdata"><pre>
    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
</pre></div>
  </div>

 </p>
 <p class="para">
  Quelques shells nécessitent que le fichier <var class="filename">php.ini</var> ait un
  <code class="literal">E</code> dans le paramètre variables_order, par exemple :
  <div class="example-contents">
<div class="cdata"><pre>
    variables_order = &quot;EGPCS&quot;
</pre></div>
  </div>

 </p>
 <p class="para">
  Exécuter tous les tests PHP avec la commande :
  <div class="example-contents">
<div class="cdata"><pre>
    $ cd your_php_src_directory
    $ make test
</pre></div>
  </div>

  ou exécutez uniquement les tests OCI8 avec la commande :
  <div class="example-contents">
<div class="cdata"><pre>
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8
</pre></div>
  </div>

 </p>
 <p class="para">
  Lorsque les tests sont terminés, il est possible d&#039;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&#039;exécution défini
  dans le fichier <var class="filename">run-tests.php</var>. Pour corriger ceci,
  définissez la variable d&#039;environnement <code class="literal">TEST_TIMEOUT</code>
  à une valeur plus grande.
 </p>
 <p class="para">
  Sur les machines rapides dont la base de données locale est configurée
  pour une charge minimale (c.-à-d. Oracle 10<em>g</em>R2 XE), quelques tests peuvent
  échouer avec des erreurs ORA-12516 ou ORA-12520. Pour prévenir ce
  comportement, augmentez le paramètre <code class="literal">PROCESSES</code> de la base
  de données en utilisant les étapes suivantes :
 </p>
 <p class="para">
  Connexion avec l&#039;utilisateur oracle :
  <div class="example-contents">
<div class="cdata"><pre>
  $ su - oracle
</pre></div>
  </div>

 </p>
 <p class="para">
  Définir l&#039;environnement nécessaire à Oracle grâce au fichier
  <var class="filename">oracle_env.sh</var> ou
  <var class="filename">oraenv</var>, tel que défini ci-dessus.
 </p>
 <p class="para">
  Démarrer l&#039;utilitaire en ligne de commande SQL*Plus et augmenter la valeur
  du paramètre <code class="literal">PROCESSES</code>
  <div class="example-contents">
<div class="cdata"><pre>
    $ sqlplus / as sysdba
    SQL&gt; alter system set processes=100 scope=spfile
</pre></div>
  </div>

 </p>
 <p class="para">
  Redémarrer la base de données :
  <div class="example-contents">
<div class="cdata"><pre>
    SQL&gt; startup force
</pre></div>
  </div>

 </p>
</div><?php manual_footer($setup); ?>