Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1574 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Prob PHP / MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prob PHP / MySQL

n°1931636
Arzos
Posté le 14-10-2009 à 02:31:16  profilanswer
 

Bonjour
 
Donc voila un de mes ami a eu des probleme avec son ancien hebergeur  :fou: et ma demander si je pouvais l'aider avec son site PHP / MYSQL  :pt1cable:  
il ma donner tout ce qu'il a pu récuperer de la racine du ftp mais il n'a pas pu recuperer la base de donnée  :o  
 
 
Donc j'ai commencer par copié tous ce quil ma donner sur mon hebergeur  
ce qui ma donner ce message d'erreur :pfff:  
 
Warning: mysql_pconnect() [function.mysql-pconnect]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/27/d285131543/htdocs/LESITE/www/Connections/dbconnect.php on line 9
 
Fatal error: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/27/d285131543/htdocs/LESITE/www/Connections/dbconnect.php on line 9
 
J'ai donc creer un base mysql vierge et changer le dbconnect.php :na:  
 
ce qui ma donner ce message d'erreur :pfff:  
 
Fatal error: Cannot redeclare __autoload() (previously declared in /homepages/27/d285131543/htdocs/LESITE/www/includes/tng/tNG.inc.php:87) in /homepages/27/d285131543/htdocs/LESITE/www/includes/tng/tNG.inc.php on line 303
 
Si quelqu'un pourrais m'aider  :hello:  
J'imagine bien que le fait de ne pas avoir la base de donnée original peut poser quelque soucis mais peu etre existe t'il un moyen de retrouver au moi la structure de la base


Message édité par Arzos le 14-10-2009 à 02:33:00
mood
Publicité
Posté le 14-10-2009 à 02:31:16  profilanswer
 

n°1931671
rufo
Pas me confondre avec Lycos!
Posté le 14-10-2009 à 10:05:33  profilanswer
 

'/tmp/mysqld.sock'  -> je pense que soit le répertoire /tmp n'existe pas soit t'as pas les bons droits
 
Cannot redeclare __autoload() -> la méthode a été déclarée 2 fois, faut en supprimer une.


Message édité par rufo le 14-10-2009 à 10:05:47

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1931672
macgawel
Posté le 14-10-2009 à 10:07:04  profilanswer
 

  • Sauvegarde de la base de données - qui a dû être faite régulièrement :D  
  • Documentation du programme :D  


Sinon, si c'est un CMS, tu devrais pouvoir t'en sortir en l'installant et export/import de la BDD.
 
Et sinon - si programme "maison" non documenté, sans sauvegardes... Bien fait pour lui !  :kaola:  
 
A la limite, si la BDD a été construite correctement, il faudra éplucher tout le code pour obtenir les informations sur la base (tables => champs, liens logiques entre les tables, etc.) et essayer de reconstruire la BDD à partir de là...
Mais dans ce cas, ce serait peut-être carrément plus simple de refaire le programme, en le documentant et en incluant des sauvegardes automatisées régulières.

n°1931682
frano9
Posté le 14-10-2009 à 10:26:46  profilanswer
 

Bon le premier message "Can't connect to local MySQL server ..." c'est tout simplement que tu as fourni des mauvais identifiants de connexion à la base de données, donc vérifie encore.  
 
Pour le deuxième problème, va à la ligne 303 de ton fichier /includes/tng/tNG.inc.php  
et met ça autour de ta fonction __autoload :
 
if(!function_exists(__autoload)) {
 
 
 
}
 
Ca devrait au moins t'éviter d'avoir des fatal error et te permettre d'avancer un peu

n°1931696
macgawel
Posté le 14-10-2009 à 10:59:22  profilanswer
 

frano9 a écrit :

Bon le premier message "Can't connect to local MySQL server ..." c'est tout simplement que tu as fourni des mauvais identifiants de connexion à la base de données, donc vérifie encore.

Le premier problème est corrigé, si j'ai bien suivi...

frano9 a écrit :

Pour le deuxième problème, va à la ligne 303 de ton fichier /includes/tng/tNG.inc.php  
et met ça autour de ta fonction __autoload :
 
if(!function_exists(__autoload)) {
}
 
Ca devrait au moins t'éviter d'avoir des fatal error et te permettre d'avancer un peu


Sauf qu'avant le changement d'hébergeur, il n'y avait pas ce problème...
Deux possibilités :
- Paramètrages de php différents (plus permissif sur l'ancien)
=> Il faut corriger les scripts, à mesure que tu constates les erreurs
 
- Problème lié à la non-existence des tables
=> Se résoudra automatiquement une fois que tu auras reconstruit les tables.
(Par exemple, des tests qui sont théoriquement exclusifs, une fois qu'on a une BDD correcte)
 
Pour en dire plus, il faudrait voir le code...

n°1931701
rufo
Pas me confondre avec Lycos!
Posté le 14-10-2009 à 11:23:11  profilanswer
 

En changeant d'hébergeur, y'a aucune chance que les infos de connexions à la BD soient les mêmes (à commencer par le nom du serveur).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1931729
pataluc
Posté le 14-10-2009 à 13:43:23  profilanswer
 

rufo a écrit :

En changeant d'hébergeur, y'a aucune chance que les infos de connexions à la BD soient les mêmes (à commencer par le nom du serveur).


euh... localhost?  :sarcastic:

n°1931954
Arzos
Posté le 15-10-2009 à 01:57:55  profilanswer
 

Deja merci à vous tous.
 
Info supplementaire  
 
La base de donnée mysql que j'ai creer sur le nouveau hebergeur est vierge  
Car il n'a pas pu la récuperer,
j'imagine que je doit maintenant recréer au moins la structure pour que le site fonctionne donc ma question serait de savoir à partir de quel fichier je peu recuperer les infos
 
Je vous met a disposition arborescence du repertoire www
 
http://nsa11.casimages.com/img/2009/10/15/mini_091015020110966245.jpg
 
 
Je me tient à disposition si quelqun peu m'aider envoyer moi un message privé que l'on puise passe sur msn ou skype
merci d'avance

n°1932610
Arzos
Posté le 16-10-2009 à 18:32:11  profilanswer
 

J'ai commencerà regarder les fichiers du repertoire \www mais je ne voit pas ou trouver les elements pour reconstruire la base de données du site  
Quelqu'un pourrais m'aider please ?

n°1932706
NewsletTux
<Insérez ici votre vie />
Posté le 17-10-2009 à 11:13:10  profilanswer
 

il faut que tu ouvres tous les fichiers PHP pour voir les requêtes insert, update, etc. de façon à récupérer le nom de la table ainsi que les champs nécessaires ... mais
- c'est long
 
- c'est pas garanti que tu retrouves la base exactement dans le même état (tu ne sais pas si c'est un varchar(6) ou un varchar(255) par exemple, si tu n'y stockes que le code postal - toute considération d'optimisation mise à part)
 
s'il a encore son accès mysql sur l'ancien hébergeur, le mieux serait qu'il fasse un script d'export "manuel" des tables ...


---------------
NewsletTux - outil de mailing list en PHP MySQL
mood
Publicité
Posté le 17-10-2009 à 11:13:10  profilanswer
 

n°1933142
Arzos
Posté le 19-10-2009 à 13:56:56  profilanswer
 

Il a toujours acces au FTP est ce qu'il y a une possibilité de mettre un fichier script php pour faire une sauvegarde de la base comme ceci :
 
Et surtout comment le lancer depuis le navigateur  
 
PS1 : qu'est ce que je doit modifier dans ce fichier ?
PS2 : ce qui est en rouge est a remplir ou il y a encore autre chose .
 
function dumpMySQL($serveur, $login, $password, $base, $mode)  
{
    $connexion = mysql_connect($serveur, $login, $password);
    mysql_select_db($base, $connexion);
     
    $entete = "-- ----------------------\n";
    $entete .= "-- dump de la base ".$base." au ".date("d-M-Y" )."\n";
    $entete .= "-- ----------------------\n\n\n";
    $creations = "";
    $insertions = "\n\n";
     
    $listeTables = mysql_query("show tables", $connexion);
    while($table = mysql_fetch_array($listeTables))
    {
        // si l'utilisateur a demandé la structure ou la totale
        if($mode == 1 || $mode == 3)
        {
            $creations .= "-- -----------------------------\n";
            $creations .= "-- creation de la table ".$table[0]."\n";
            $creations .= "-- -----------------------------\n";
            $listeCreationsTables = mysql_query("show create table ".$table[0], $connexion);
            while($creationTable = mysql_fetch_array($listeCreationsTables))
            {
              $creations .= $creationTable[1].";\n\n";
            }
        }
        // si l'utilisateur a demandé les données ou la totale
        if($mode > 1)
        {
            $donnees = mysql_query("SELECT * FROM ".$table[0]);
            $insertions .= "-- -----------------------------\n";
            $insertions .= "-- insertions dans la table ".$table[0]."\n";
            $insertions .= "-- -----------------------------\n";
            while($nuplet = mysql_fetch_array($donnees))
            {
                $insertions .= "INSERT INTO ".$table[0]." VALUES(";
                for($i=0; $i < mysql_num_fields($donnees); $i++)
                {
                  if($i != 0)
                     $insertions .=  ", ";
                  if(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob" )
                     $insertions .=  "'";
                  $insertions .= addslashes($nuplet[$i]);
                  if(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob" )
                    $insertions .=  "'";
                }
                $insertions .=  " );\n";
            }
            $insertions .= "\n";
        }
    }
 
    mysql_close($connexion);
 
    $fichierDump = fopen("dump.sql", "wb" );
    fwrite($fichierDump, $entete);
    fwrite($fichierDump, $creations);
    fwrite($fichierDump, $insertions);
    fclose($fichierDump);
    echo "Sauvegarde réalisée avec succès !!";
}
 
recuperez sur le site developez.net
 
Merci de votre aide
 
 
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Prob PHP / MySQL

 

Sujets relatifs
Clos - Ouvrir un répertoire distant avec PHP et y travaillersurveiller les requêtes ou tables modifiées sur MySQL
Différents pb PHP/MySQL[PHP/mysql] prob avec mysql_fetch_array()
[PHP/MySQL] Prob de récup du résultat d'une requete[PHP MySQL] Clef primaire multiple ?(prob. réglé + infos législation)
[PHP]prob mysql[PHP-Mysql] Prob d'apostrophes et de slash
[PHP + MySQL] Pas mal de prob pour les scripts 
Plus de sujets relatifs à : Prob PHP / MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR