Re: Stabilité Apache / PHP / instantclient Oracle

Top Page

Reply to this message
Author: Yves Martin
Date:  
To: guilde
Subject: Re: Stabilité Apache / PHP / instantclient Oracle
Selon Philippe BEAU <philippe@???>:

> >    Bonjour,

> >
> > J'ai compilé PHP 4.3.10 sur Debian Sarge avec l'option
> > --with-oci8-instant-client pour Apache 2.0.54.
> > Un petit script PHP de test réussit parfaitement à se connecter à la base
> > et
> > à exécuter des requêtes.
> >
> > Une grosse application PHP doit être déployé sur cet environnement.
> > L'application en question fonctionne parfaitement en utilisant MySQL au
> > lieu
> > d'Oracle.
> >
> > Lorsque l'application est configurée pour Oracle, j'obtiens des crashs de
> > PHP
> > très fréquents:
> > error.log.1:[Tue Oct 18 11:17:33 2005] [notice] child pid 3311 exit signal
> > Segmentation fault (11)
> >
> > Que pouvez-vous me conseiller de faire pour résoudre ce problème de
> > support Oracle ?


Pour replacer dans le contexte, cette application sera sur Internet et
nous ne badinons pas avec la sécurité donc on préfère utiliser le php de
Debian qui est suivi et patché (surtout vu la stabilité de
certaines API php... on m'en a raconté de belles !)
D'un autre côté, elle est codée par des Vietnamiens qui n'ont jamais
utilisé un debuggeur et ignore les logs de PHP (Notice...)

Bref, c'est du 4.3.10 et c'est tout.

J'ai recompilé les php4 .deb avec l'option --enable-debug et en commentant
dh_stripall.
Résultat: 1 crash, je connecte ensuite gdb sur Apache, ça passe...
et ensuite plus aucun crash. Je repasse aux versions non debug: plus de
crash. Bref, les requêtes en base sont foireuses (vu les logs, c'est une
certitude) et un reset de la base a résolu le problème !

Apache dispose aussi de la directive CoreDumpDirectory.
Pour l'instant, je surveille au cas où cela se reproduit mais la balle est
repartie dans le camps des développeurs Vietnamiens !
Comme quoi c'est facile de mettre la faute sur du code OpenSource ou sur
les responsables des systèmes d'exploitation. J'ai testé le support OCI8
dans PHP4 qui j'ai compilé, je ne pouvais pas faire plus.
L'application est codée avec les pieds, c'est ma conclusion.

Désolé pour ce déversement d'états d'âme mais râle bol l'off-shore !
Merci pour votre aide et à bientôt
--
Yves Martin