Prob PHP / MySQL - PHP - Programmation
Marsh Posté le 14-10-2009 à 10:05:33
'/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.
Marsh Posté le 14-10-2009 à 10:07:04
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 !
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.
Marsh Posté le 14-10-2009 à 10:26:46
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
Marsh Posté le 14-10-2009 à 10:59:22
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 |
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...
Marsh Posté le 14-10-2009 à 11:23:11
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).
Marsh Posté le 14-10-2009 à 13:43:23
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?
Marsh Posté le 15-10-2009 à 01:57:55
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
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
Marsh Posté le 16-10-2009 à 18:32:11
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 ?
Marsh Posté le 17-10-2009 à 11:13:10
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 ...
Marsh Posté le 19-10-2009 à 13:56:56
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
}
Marsh Posté le 14-10-2009 à 02:31:16
Bonjour
Donc voila un de mes ami a eu des probleme avec son ancien hebergeur et ma demander si je pouvais l'aider avec son site PHP / MYSQL
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
Donc j'ai commencer par copié tous ce quil ma donner sur mon hebergeur
ce qui ma donner ce message d'erreur
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
ce qui ma donner ce message d'erreur
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
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