Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-10-2008 16:10:48

Bendjy
Nouveau membre
Date d'inscription: 15-10-2008
Messages: 5

[Resolu] Problème de connexion avec ma base de donnée

Bonjour,

J'essaye depuis peu de me mettre à Zend pour la refonte complète de mon site.

J'ai suivi point par point le tutoriel FR Kitpages, que je trouve très bien. Donc tout se passe bien sauf :

Quand je demande l'affichage d'une page avec connexion à la base, j'obtiens l'erreur suivante :


Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000] [2005] Unknown MySQL server host '***' in /usr/lib/ZendFramework-1.5.3/library/Zend/Db/Adapter/Pdo/Abstract.php:130


...plus pas mal d'autres lignes, je vous la fais courte !...

J'ai cru comprendre que c'était lié à une incompatibilité d'humeur entre les versions de PHP et de MySQL. Mais je n'ai pas trouvé de solution pratique.

Merci de votre soutien !

Autre question (tant que j'y suis) : Le tutoriel parle de fichier .log, de logger et compagnie, je n'y comprends strictement rien et je trouve aucun cours sur internet ! Le fichier .log, il faut le créer ? Ecrire quelque chose dedans ?

Ps : Merci d'utiliser des mots simples, je suis un newbie de l'informatique smile

Dernière modification par Bendjy (20-10-2008 10:52:41)

Hors ligne

 

#2 19-10-2008 16:34:30

acharrex
Membre
Lieu: Suisse
Date d'inscription: 27-04-2008
Messages: 135

Re: [Resolu] Problème de connexion avec ma base de donnée

Salut,

A première vue, il semble que tu as mal configuré ta connexion à ta base de données. Est-ce que tu pourrais nous donner le code de ton config.ini et celui de ton bootstrap ?

Ensuite concernant les logs, Apache écrit toutes les erreurs rencontrées dans un fichier error.log. Mais tu peux aussi activer cette écriture dans ZF, afin d'obtenir un fichier contenant toutes les erreurs rencontrées.

Pour cela, il faut que tu consultes la documentation au sujet de Zend_Log : http://framework.zend.com/manual/fr/zend.log.html

Hors ligne

 

#3 19-10-2008 17:50:07

Bendjy
Nouveau membre
Date d'inscription: 15-10-2008
Messages: 5

Re: [Resolu] Problème de connexion avec ma base de donnée

Salut !

Pour l'instant, afin de faire le plus simple possible, je n'ai réalisé qu'un fichier index (toujours selon le tuto Kit Pages) ce qui donne :

Code:

<?php
// mettre vos constantes ici...
define("WEBAPP_DIR","/www/benjamin/mvc/");
define("MODEL_DIR",WEBAPP_DIR."/application/model");
define("ROOT_URL","http://dev.xxx.com");
define("BASE_URL", "/");
define("ZEND_FRAMEWORK_DIR","/usr/lib/ZendFramework-1.5.3/library");
define("LOG_FILE", ROOT_URL . "/test.log");

//connexion à la base de données
define("DB_SERVER","https://phpmyadmin.xxx.com");
define("DB_PORT","21");
define("DB_NAME","benjamin");
define("DB_USER","benjamin");
define("DB_PASSWORD","***");
define("DB_TYPE","Pdo_Mysql");
 
set_include_path(
  ".".PATH_SEPARATOR.
  MODEL_DIR.PATH_SEPARATOR.
  ZEND_FRAMEWORK_DIR.PATH_SEPARATOR.
  get_include_path()
);
 
require_once 'Zend/Loader.php';
 
// Registry init
Zend_Loader::loadClass("Zend_Registry");

// Logger init
Zend_Loader::loadClass('Zend_Log');
Zend_Loader::loadClass('Zend_Log_Writer_Stream');
$logger = new Zend_Log();
$logger->addWriter(new Zend_Log_Writer_Stream(LOG_FILE));
Zend_Registry::set("logger",$logger);
Zend_Registry::get("logger")
    ->debug("** URI=".$_SERVER["REQUEST_URI"]);

    
// Controller init
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
$controller = Zend_Controller_Front::getInstance();


//Vérifier à terme si cette partie est vraiment utile, soit disant pour indiquer le chemin du controller et de l'action (com perso !)
$router = new Zend_Controller_Router_Rewrite();
$cmtRoute = new Zend_Controller_Router_Route(
    "comment/:action/:comment",
    array(  "comment"=>null,
            "controller"=>"comment",
            "action"=>"display"
    )
);
$router->addRoute("comment",$cmtRoute);

 
$controller->setBaseUrl(BASE_URL);
$controller->setControllerDirectory('application/controllers');
$controller->throwExceptions(true);
 
// init viewRenderer
Zend_Loader::loadClass("Zend_View");
$view = new Zend_View();
$viewRenderer = Zend_Controller_Action_HelperBroker::
    getStaticHelper('viewRenderer');
$viewRenderer->setView($view)
             ->setViewSuffix('phtml');
 
// call dispatcher
$controller->dispatch();
?>

Donc pas de bootstrap, ni de config.ini, j'imagine que c'est pas très sécurisé, mais ça je verrai plus tard.

Concernant le serveur, c'est celui d'un pote qui héberge dessus une dizaine de site, est-ce que l'erreur viendrait de ça avec des problèmes de config ?

Merci Acharrex pour ta réponse, je vais de ce pas consulter ton lien.

Hors ligne

 

#4 19-10-2008 18:01:05

acharrex
Membre
Lieu: Suisse
Date d'inscription: 27-04-2008
Messages: 135

Re: [Resolu] Problème de connexion avec ma base de donnée

Je pense que la configuration de ta base de données est incorrecte.

Car déjà le port 21 est le port FTP, et non celui de MySQL par défaut (3306). Bon cela peut être modifié, mais peut être est-ce une erreur.

De plus, l'adresse du serveur MySQL ne correspond pas forcément à l'URL que tu utilises pour accéder à phpMyAdmin (donc pas forcément "https://phpmyadmin.xxx.com").

A mon avis, je te conseille de demander à ton ami les véritables accès à son serveur MySQL wink

Edit : tu n'effectues pas la connexion à la base de données dans ton bootstrap ? Ou est-ce un oubli ?

Dernière modification par acharrex (19-10-2008 18:06:44)

Hors ligne

 

#5 19-10-2008 20:40:17

Bendjy
Nouveau membre
Date d'inscription: 15-10-2008
Messages: 5

Re: [Resolu] Problème de connexion avec ma base de donnée

Merci pour ces remarques, je vais effectivement attendre d'avoir les véritables infos d'accès au serveur !

Sinon pour l'instant je n'ai pas de bootstrap, je n'ai d'ailleurs pas compris l'utilité d'un tel fichier. Le code donné ci-dessus me lance bien IndexController.php par défaut.

Si j'ai bien compris (ce qui m'étonnerait wink), le bootstrap c'est principalement ça :

Code:

// Controller init
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
$controller = Zend_Controller_Front::getInstance();

Et ce code est dans mon fichier index.php

Il semble que j'ai les éléments de réponse à ma question concernant la connexion à la base, je posterai la solution au complet dés que possible !

Hors ligne

 

#6 20-10-2008 10:51:16

Bendjy
Nouveau membre
Date d'inscription: 15-10-2008
Messages: 5

Re: [Resolu] Problème de connexion avec ma base de donnée

Salut à tous !

Effectivement ce n'était qu'un problème de configuration de la connexion à la base (Quelle aventure ! wink) :

define("DB_SERVER","localhost");
define("DB_PORT","3306");
define("DB_NAME","benjamin");
define("DB_USER","benjamin");
define("DB_PASSWORD","***");
define("DB_TYPE","Pdo_Mysql");

Ceci fonctionne, par contre, mon hebergeur a aussi fait des modifs sur le fichier de config de mes dossiers... Est ce que ça a été décisif ??? JE sais pas !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages