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

PHP & Base de données Discussion :

Connexion PHP / Oracle : erreur au lancement d'apache [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut Connexion PHP / Oracle : erreur au lancement d'apache
    Bonjour,

    jai un problème de configuration de serveur Apache / PHP pour effectuer une liaison entre mon programme et oracle.

    J'ai développé un appli web sous Wamp en activant php_oci pour interroger une base de données Oracle, mon site fonctionne et l'interrogation de la base de donnée fonctionne sans problème.

    Lors du passage en production, où sur mon serveur j'ai une installation hors Wamp (Apache 2.2.17 (win32) et PHP 5.3.6), je n'arrive pas à activer la dll oci. J'ai décommenté la ligne extension=php_oci8.dll, j'ai bien la dll php_oci8.dll dans le extension_dir, mais lorsque je relance mon serveur apache j'ai un message d'erreur : The requested operation has failed !

    Voici le fichier error.log :

    [Tue Jan 14 14:35:28 2014] [notice] Apache/2.2.17 (Win32) PHP/5.3.6 configured -- resuming normal operations
    [Tue Jan 14 14:35:28 2014] [notice] Server built: Oct 18 2010 01:58:12
    [Tue Jan 14 14:35:28 2014] [notice] Parent: Created child process 5460
    [Tue Jan 14 14:35:31 2014] [crit] (OS 6)Descripteur non valide : master_main: create child process failed. Exiting.
    [Tue Jan 14 14:35:31 2014] [notice] Parent: Forcing termination of child process 36

    Peut être est-ce une mauvaise version de la dll (actuellement 5.3.4.0) ?
    Faut-il en activer une autre ?
    Si quelqu'un a une idée ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut
    Bonjour,

    Votre serveur est sous quel OS ?

    Apache 2.2.17 et PHP 5.3.6 sont-ils tous les deux de 32 bits ?

    Vous pouvez activer display_startup_errors et tester en passant sous commande : php -m, on aura peut-être de nouveau indice sur la cause du problème.

  3. #3
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Version du client
    Bonjour,

    Déjà un serveur de production PHP sous windows est une hérésie ...
    mais bon passons. Il existe pour wamp et le client Oracle des incompatibités, , notamment le module php supporte mal le mutlthreading avec ORacle, il faut te remettre dans la config du poste de dev. Et vérifier que le client Oracle est le même.

    D'autre logs plus consistants ?
    Description exacte de ta config /dev/ prod ? euh y a pas de recette ?

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Bonjour

    Pour l'hérésie de php sous Windows, il faut, je pense, connaître le passif et l'actif d'une entreprise ou du moins de sa DSI avant d'appeller d'employer ce terme, si le choix s'était posé, peut être je serai en effet sous Linux. En tout cas, les installation se sont bien passées, et le serveur tourne depuis un bon moment sans problème.

    En fait pour compléter un peu mes dires, il s'agit d'un serveur de recette en effet, avec une config identique à la prod, c'est pourquoi j'emploie le terme de prod, car je devrai dans tous les cas reproduire ces modification sur la bécane de production.

    Le serveur est sous Windows 2003 SP2, Apache et Php sont tous les 2 en 32 bits.

    L'option php 'display_startup_errors' est activée mais seulement comme Apache refuse de se lancer une fois l'extension décommentée, je n'obtient pas l'erreur sur ne non chargement de la dll. Quand je ne commente pas et tente de joindre ma base de données Oracle voici le message d'erreur : Fatal error: Call to undefined function oci_connect()
    Ceci est du au non chargement de la dll.

    Le client Oracle sur les machines de dev et de recette est le même (9.2.0.1.0)

    Y'a pas de soucis pour vous fournir plus de logs mais lesquelles ?

  5. #5
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Excuses
    Bonjour,

    Pour Windows, c'est normal que je vous taquine, c'est de bonne guerre

    Pour ce qui est du client Oracle cela devient pus chaud, il faut vérifier que t'as version dll
    soit compilée avec la bonne version d'Oracle.
    Je m'explique ...

    Il m'est arrivé le souci suivant

    installation dernière version de wamp, apache ne se lançait plus dès qu'on activement le module OCI, je me suis aperçu au bout d'un certain temps que la version du client Oracle utilisée pour la version Windows était en 11GR2, alors que mon poste avait une version 9i, car ta dll appelle des couches Oracle binaire plus basses. On a mis 15 jours a comprendre, la solution a été de pomper une dll plus vieille dans les binaires d'un Wamp plus ancien et de copier/coller la nouvelle dll, c'est pas franchement propre, mais cela avait le mérite de fonctionner en DEV.
    On s'est j'avoue, arraché les cheveux, car impossible de recompiler le client, enfin si mais avec une dépense d'énergie importante.

    Et donc j'en reviens à Linux, on installe le client Oracle, on compile la librairie et pouf cela fonctionne sans segmentation fault. Enfin presque

    Je te souhaite de trouver, ce n'est peut être pas la solution mais une piste, d'un vieux briscard car Oracle.

    exemple : http://forum.wampserver.com/read.php?2,60039,61113
    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Tout d'abord merci de te soucier de mon cas
    Je pense aussi que cela vient de mes dll.

    J'ai essayer de d'éxecuter php en ligne de commande :
    sans php_oci8_11g.dll de décommenté : liste des modules php
    avec php_oci8_11g.dll de décommenté : rien pas de message, meme pas d'erreur

    Sur mon poste de dev je suis sous Wamp2.1, j'ai essayer de récupérer les nouvelle version des dll (l'inverse de ta proposition mais rien n'y fait). Donc je vais rechercher des anciennes version de wamp et récupérer les dll, on verra bien. Mais come la piste me semble bonne je l'essaye.

    Merci encore.

  7. #7
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut phpinfo
    Bonjour,

    Fais un phpinfo et tu verras la compilation du client Oracle.
    sans connection Oracle. Avec la dll chargée.
    Ne va pas en avant pour les versions , sinon utilise un vieux Wamp complet

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    J'ai essayer en mettant des DLL de version antétieure, rien n'y fait.

    Un phpinfo sous l'environnement de DEV, sous Wamp donc :
    ------------------------------------------
    OCI8 Support : enabled
    Version : 1.4.5
    Revision : $Revision: 305257 $
    Active Persistent Connections : 0
    Active Connections : 0
    Oracle Instant Client Version : 10.2
    Temporary Lob support : enabled
    Collections support : enabled
    ------------------------------------------

    Vu que j'arrive pas à charger la DLL sur mon serveur de recette, j'ai decider de remplacer le client 9.2 par le 10.2

    Apache ne démarre que si ne n'active aucune extension ?
    Je n'ai pas de traces particulières dans le fichiers error.log que
    [warn] pid file E:/XXXX/Apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
    Une idée d'où récupérer des traces

    [EDIT] Dans l'observcateur d'évènement j'ai récupérer ça : Application défaillante httpd.exe, version 2.2.17.0, module défaillant php5ts.dll, version 5.3.5.0, adresse de défaillance 0x000e890c.

    J'y travaille

  9. #9
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Question stupide
    Bonjour,

    En passant, tu es sûr que wamp en 32 bits ??
    Je pense que oui. l'installation du client peut améliorer les choses. Pour ce qui est des logs, comme c'est un crash système sous windows, je ne suis pas sûr que tu puisses fonctionner en mode debug ??

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Je dev sous Wamp 2.1 et mon système est en 64 bits, mais j'ai récupérer toutes les dll 32 bits

  11. #11
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Bonjour
    Bonjour

    aie, je pense que c'est un des pb, faire tourner un 32 bits en 64 pas bon.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Je me suis mal exprimé je pense.
    Mon environnement de dev est sous Wamp 2.1 installé sur ma machine 64 bits
    L'environnement de recette, est un windows server 2008, 32 bits, sur lequel n'est pas installé Wamp, mais apache et Php indépendamment.

    Je ne prend en aucun cas les dll de la machine de test pour les coller sur la recette.

    Je vais réinstaller apache et php dans des version récente mais compatible entre elles (Php 5.3 max avec apache sous windows apparemment) et la dernier version d'apache, on verra bien.

  13. #13
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Une autre piste
    Bonjour,

    Un nouveau lien, comme quoi cela n'est pas simple. courage


    http://blog.mingspc.com/2011/09/16/i...-oci8-enabled/

    olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  14. #14
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Bon ben après
    - desinstallation complète de php et d'apache (avec suppression d'éventuelle traces)
    - installation du client oracle 10.2, ça fonctionne.
    - installation de Microsoft Visual C++ (obligatoire apparemment pour les version VC9 de l'installeur windows de php http://www.php.net/manual/fr/install.windows.manual.php)
    - installation des dernières versions d'apache et de php

    Mon client apache démarre avec les dll oci et je peux requêter vers ma base de donnée.

    Reste plus qu'à le faire en prod

    Merci pour les coups de main

  15. #15
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Ouf que du bonheur
    Bonjour,

    Super y 'a plus qu'a.

    Sinon histoire de faire mal, propose de passer sous linux.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle] Connexion PHP / Oracle
    Par ri_po dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/12/2008, 15h46
  2. Erreur au lancement d'apache avec easyphp
    Par suparles dans le forum Apache
    Réponses: 9
    Dernier message: 05/03/2008, 18h40
  3. [Oracle] connexion PHP Oracle
    Par soumia1988 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/03/2007, 13h40
  4. [Oracle 9 Unix] Lancement serveur Apache
    Par Mihaela dans le forum Oracle
    Réponses: 10
    Dernier message: 14/09/2006, 12h58
  5. erreur au lancement d'apache
    Par LuckySoft dans le forum Apache
    Réponses: 3
    Dernier message: 29/06/2006, 11h28

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