• # Normalement...

    Posté par (site web personnel) . En réponse au message Probleme de connection avec un serveur mysql. Évalué à 0.

    Normalement ta connexion php NE passe PAS par le réseau, mais par un socket unix (beaucoup plus rapide et secure...).

    Perso j'utilise PEARDB pour ça, et je me prend moi la tête...

    Mon code :
    open_connexion.php

    <?php
    //Inclusion module PEARDB
    require_once 'DB.php';

    //Configuration de la base de donnée
    include "sql.inc.php";

    if (!isset($BASE_OUVERTE))
    $BASE_OUVERTE='false';
    //ouverture de la base de donnée.
    if ($BASE_OUVERTE!='true') {
    $db =& DB::connect($dsn, $options);
    if (DB::isError($db)) {
    /*
    * Ce n'est peut être pas ce que vous aurez envie de
    * faire dans votre programme. Nous le mettons ici juste
    * pour vous montrer comment utiliser l'objet erreur.
    */

    echo 'Erreur : Message Standard : ' . $db->getMessage() . "\n";
    //echo 'Message DBMS/Utilisateur : ' . $db->getUserInfo() . "\n";
    //echo 'Message DBMS/Déboguage : ' . $db->getDebugInfo() . "\n";
    die();
    } else {
    $BASE_OUVERTE='true';
    }
    }
    ?>


    close_connexion.php

    <?php
    //Fermeture de la connection SQL.
    if ($BASE_OUVERTE=='true') {
    $db->disconnect();
    $BASE_OUVERTE='false';
    }
    ?>


    après tu utiliser le modèles expliqué dans la docs là :
    http://pear.php.net/manual/fr/package.database.db.php(...)

    Il te faudra pear installé dans le système d'hebergement, mais si tu a pas un simple ajout de PEARDB dans ton projet suffira (avec quelques changements de chemins a faire...).

    sql.inc.php

    <?php
    //Type de la base SQL (mysql|postgresql|etc...)
    $sql_type="mysql";

    //Nom d'hôte du serveur MySQL
    $sql_host="localhost";

    //Login de la base de donnée
    $sql_login="login";

    //Password de la base de donnée
    $sql_pass="pass";

    //Nom de la base de donnée
    $sql_dbname="dbname";

    $dsn = "$sql_type://$sql_login:$sql_pass@$sql_host/$sql_dbname";
    $options = array(
    'debug' => 2,
    'portability' => DB_PORTABILITY_ALL,
    );
    ?>


    Tout ce bout de code est sous GPL, un simple lien vers mon site (http://www.cathub.org)(...) me va si tu l'utilise...

    D'autre part il est recommandé d'utiliser apache1 avec du php pour des histoires de différence entre fork et thread qui font que avec apache2 ça peux crasher le serveur complètement...
    (ne pas oublier non plus de relancer le serveur régulièrement pour virer les requettes qui ont plantés pour X ou Y)

    ps : dsl pour les identations, les tabs sont passées a la trappe...