IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces de programmation Oracle Discussion :

[OCI] Problème sur un serveur Oracle + Apache 2 + PHP


Sujet :

Interfaces de programmation Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [OCI] Problème sur un serveur Oracle + Apache 2 + PHP
    Bonjour,

    J'espère ne pas m'être trompé de catégorie puisque plusieurs étaient pertinentes. Je suis actuellement entrain de travailler sur l'installation et la configuration d'un serveur sous CentOS 5 avec Oracle 10gR2. L'objectif est de configurer ce serveur pour que PHP puisse utiliser la base de données Oracle via OCI.

    Après avoir installé les extensions OCI grâce au framework Zend, j'ai fais un phpinfo() où tout à l'air bon. Je vois bien une partie OCI.

    En revanche, quand j'essaie de me connecter à ma base et d'en récupérer des données, rien n'est retourné.

    Mon script est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
     
          $db_conn = ocilogon("hr", "hr", "orcl");
     
          $cmdstr = "select last_name, salary from employees";
     
          $parsed = ociparse($db_conn, $cmdstr);
          ociexecute($parsed);
     
          $nrows = ocifetchstatement($parsed, $results);
     
          echo "<html><head><title>Oracle PHP Test</title></head><body>";
          echo "<center><h2>Oracle PHP Test</h2><br>";
          echo "<table border=1 cellspacing='0' width='50%'>\n<tr>\n";
          echo "<td><b>Name</b></td>\n<td><b>Salary</b></td>\n</tr>\n";
     
          for ($i = 0; $i < $nrows; $i++ )
          {
            echo "<tr>\n";
            echo "<td>" . $results["LAST_NAME"][$i] . "</td>";
            echo "<td>$ " . number_format($results["SALARY"][$i], 2). "</td>";
            echo "</tr>\n";
          }
     
          echo "<tr><td colspan='2'> Nombre de lignes: $nrows</td></tr></table>";
          echo "<br><em>Si tu vois un resultat c'est que ca marche ! Sinon ben... voila quoi...</em><br></center></body></html>\n";
     
        ?>
    Lorsque je consulte les logs d'erreur d'Apache, j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [Thu Jan 22 23:26:50 2009] [error] [client 10.249.40.54] PHP Warning:  ocilogon() [<a href='function.ocilogon'>function.ocilogon</a>]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that ORACLE_HOME is set and points to the right directory in /usr/local/apache/htdocs/test.php on line 3
    [Thu Jan 22 23:26:50 2009] [error] [client 10.249.40.54] PHP Warning:  ociparse() expects parameter 1 to be resource, boolean given in /usr/local/apache/htdocs/test.php on line 7
    [Thu Jan 22 23:26:50 2009] [error] [client 10.249.40.54] PHP Warning:  ociexecute() expects parameter 1 to be resource, null given in /usr/local/apache/htdocs/test.php on line 8
    [Thu Jan 22 23:26:50 2009] [error] [client 10.249.40.54] PHP Warning:  ocifetchstatement() expects parameter 1 to be resource, null given in /usr/local/apache/htdocs/test.php on line 10
    D'après vous, d'où pourrait venir ces erreurs ? Il ne me semble pas qu'elles viennent de mon script PHP... Alors, une mauvaise configuration quelque part ? Mais où ?

    En remerciant d'avance tout ceux qui pourraient avoir une idée à me proposer !

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Points : 181
    Points
    181
    Par défaut
    Bonjour,

    Je pense qu'il manque la définition de la variable ORACLE_HOME dans l'environnement apache, ainsi que TNS_ADMIN si tu n'as pas créé ton tnsnames.ora sous ORACLE_HOME/network/admin.
    Tu peux ne pas passer par la pile IP en définissant ORACLE_SID=ORCL et $db_conn = ocilogon("hr", "hr");

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour je suis sur le projet avec Sebvita, pour moi le tnsnames.ora est normal...

    Voici un petit screen en ce qui concerne les variables Oracle de l'environnement Apache.


Discussions similaires

  1. Réponses: 6
    Dernier message: 09/09/2008, 17h08
  2. Réponses: 16
    Dernier message: 06/06/2008, 21h25
  3. nouvelle instance sur un serveur oracle 10g
    Par jpspci dans le forum Oracle
    Réponses: 2
    Dernier message: 24/01/2007, 15h35
  4. Comment installer mes pages sur un serveur web Apache
    Par lyncarey dans le forum Apache
    Réponses: 1
    Dernier message: 01/01/2007, 22h14
  5. Problème sur un serveur 'Windows 2003 Serveur'
    Par G.D.O dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 05/04/2006, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo