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

Bibliothèques et frameworks PHP Discussion :

[PEAR][DB] Problème avec include DB.php


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut [PEAR][DB] Problème avec include DB.php
    Alors voila mon constructeur marche en local mais pas sur le serveur

    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
     
    	var $db;
    	var $tablePrefix;
    	var $userTablePrefix;
     
    	function phpList($pathToPhpList=NULL) {
    		// if no path specified, assume this file is in thephplist dir
    		if (empty($pathToPhpList)) $pathToPhpList = dirname(__FILE__);
    		// Include your phpList config.php file here
    		require("$pathToPhpList/config/config.php");
    		$this->tablePrefix = $table_prefix;
    		$this->userTablePrefix = $usertable_prefix;
    		// Setup and connect to the database (this only needs to be done once per session
    		// You don't need to change anything here.
    		include_once("DB.php");
    		$this->db = DB::connect("mysql://$database_user:$database_password@$database_host/$database_name"); 
    		if (DB::isError($this->db)) die($this->db->getMessage());
    		$this->db->setFetchMode(DB_FETCHMODE_ASSOC);
    	}
    Pour debuguer j'ai rajouté des echo :
    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
     
    	var $db;
    	var $tablePrefix;
    	var $userTablePrefix;
     
    	function phpList($pathToPhpList=NULL) {
    		// if no path specified, assume this file is in thephplist dir
    		if (empty($pathToPhpList)) $pathToPhpList = dirname(__FILE__);
    echo 'debut<br>';
    		// Include your phpList config.php file here
    		require("$pathToPhpList/config/config.php");
    		$this->tablePrefix = $table_prefix;
    		$this->userTablePrefix = $usertable_prefix;
    echo 'suite<br>';
    		// Setup and connect to the database (this only needs to be done once per session
    		// You don't need to change anything here.
    		include_once("DB.php");
    echo 'include<br>';
    		$this->db = DB::connect("mysql://$database_user:$database_password@$database_host/$database_name"); 
    echo 'connecte<br>';
    		if (DB::isError($this->db)) die($this->db->getMessage());
    		$this->db->setFetchMode(DB_FETCHMODE_ASSOC);
    echo 'fin';
    	}
    ca affiche jusqu'au include et puis aprés plus rien. Si l'erreur venai de la connexion ca me ferait quand meme les echo (et puis ca me ferai le message d'erreur aussi^^). Donc je pense que c'est peut etre un probleme de syntaxe dans la fonction connect (si c'est ca ca n'aurai pas du marcher en local) sinon ca vient du serveur?

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    La méthode connect() c'est toi qui l'a définie ou elle existe déjà. Si c'est à toi tu peux montrer son code?

    Et sinon pourquoi avoir fait un nouveau post au lieu de continuer dans celui-la : http://www.developpez.net/forums/sho...d.php?t=356280 ?

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    1 - C'est la fonction de pear
    http://pear.php.net/manual/fr/packag...db.connect.php

    2 - Je pense pas que le probleme soit en rapport avec mysql mais plus un probleme de syntaxe ou une mauvaise utilisation de la fonction ou un probleme au niveau du serveur. Et puis j'aurais plus de reponse ici Et pour finir je l'ai mit en delestage^^

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    dans la doc de isError() ils semblent utiliser PEAR::isError() plutot que DB::isError().

    Sinon, si tu enleves ce qu'il y a apres le connect et que tu mets directement un "die("fin")" est-ce que tu vois bien le "fin" ?

  5. #5
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Non pas de 'fin'.
    Le script semble bloquer sur cette fonction.

    Est ce que cela pourrai venir de la configuration de php??


    Peut etre une piste :
    J'ai verifié le phpinfo sous xampp(la ou mon code marche) et dans Environement j'ai plein de variable pear ce que je n'ai pas sur mon serveur le probleme doit venir de la je pense

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Bon ca se precise, aprés verification des logs, il ne trouve pas le fichier DB.php
    donc ce n'est pas un probleme de connexion^^

    je n'ai pas touché à l'installation de pear et en regardant j'ai vu que le fichier DB.php ne se trouvait pas dans le dossier PEAR c'est grave?

    Citation Envoyé par php.ini
    include_path = ".:/home/sites/php-classes/:/usr/local/lib/php/PEAR/:/usr/local/lib/php/"
    DB.php se trouve dans le repertoire php

    Le include devrait fonctionner?


    Probleme resolu : safe_mode=on je pouvais pas acceder a db.php depuis mon script...

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

Discussions similaires

  1. [FLASH MX2004] [XMLSocket] Problème avec serveur socket php
    Par cocodunombril dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2009, 02h10
  2. [PHP-JS] Problème avec include
    Par Gunner4902 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2007, 10h22
  3. [PHP-JS] problème avec include
    Par UN|X` dans le forum Langage
    Réponses: 4
    Dernier message: 08/03/2007, 16h57
  4. [PHP-JS] Problème avec include
    Par trotters213 dans le forum Langage
    Réponses: 18
    Dernier message: 27/09/2006, 19h37

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