Bonjour,
J'ai un problème de connexion à ma base oracle mais je ne sais pas si ça vient de php, oracle ou linux.
Mon script php fonctionne en local sous XP. Je me connecte à ma base oracle sans problème.
Sur le serveur linux, j'ai deux comportements differents selon que je lance mon script en lignes de commandes (...]# php mon script.php) ou que je l'appel dans une page de mon site construit avec typo3.
Sur mon site web il n'y a aucun problème, seulement ce script est destiné à être executé par cron une fois par jour. Quand je l'execute en ligne de commande, au moment de la connexion à la même base oracle (je n'en ai qu'une) il m'affiche le message d'erreur suivant :
A la ligne 33 il y a bien entendu mon ocilogon :PHP Warning: ocilogon(): _oci_open_session: OCIHandleAlloc OCI_HTYPE_SVCCTX: OCI_INVALID_HANDLE in /home/user/sources/oracle.class.php on line 33
en faisant des recherches j'ai remarqué que ce message d'erreur vient du fait que ORACLE_HOME n'est pas bien défini mais j'ai pourtant rien dans mon site web qui y fait référence et pourtant la connexion se fait bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $username = "XXXXX"; $password = "YYYYYY"; $db = "MADB"; $this->log_procedure("Connexion à la base ".$db); if (($this->connexion = ocilogon($username, $password, $db)) === FALSE) { // ligne 33 $this->log_procedure("Connexion impossible à ".$db); $this->log_error(true); } else { $this->log_procedure("Succès de connexion à la base ".$db); }
Y-a-t'il une différence dans l'execution de php en ligne de commande et par apache ? Où doit pointer ORACLE_HOME ? Un autre paramètre rentre-t-il en ligne de compte ?
Merci d'avance,
Devether
Partager