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

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] mysqldump, php et dump vide :(

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] mysqldump, php et dump vide :(

n°1984323
xxbenitoxx
Posté le 15-04-2010 à 14:15:16  profilanswer
 

Bonjour à tous,
 
Je cherche à faire un dump de ma BDD à travers PHP.
 
Pour cela, j'utilise la commande ci-dessous :
 

Code :
  1. exec(mysqldump --opt  --u root BASE >FICHIER)


 
A l'exécution du script (en local), je vois une fenêtre DOS apparait rapidement, puis disparait.
En résultat, mon fichier est bien créé, mais vide (0 ko).
En testant la commande sous DOS, ca fonctionne bien (fichier créé et complet).
Quelqu'un a une idée ? Ca fait 4H00 que je cherche, et je ne trouve rien :(
 
 
Quelqu'un saurais comment je pourrais faire pour que la fenêtre DOS ne se ferme pas ? Il y a peut être une piste dessus ...
 
Merci
 
J'utilise :
- Windows XP
- EasyPHP
- serveur en local pour mes tests, puis en ligne.
 
 
EDIT : J
SOLUCE : j'ai bien ajouté le mysqldump aux PATH, mais je n'avais pas redémarré XP ! Merci à tous !


Message édité par xxbenitoxx le 15-04-2010 à 15:20:57
mood
Publicité
Posté le 15-04-2010 à 14:15:16  profilanswer
 

n°1984330
flo850
moi je
Posté le 15-04-2010 à 14:25:51  profilanswer
 

les chemins d'accès sont bons ?  
 
qu'est ce que donne

Code :
  1. echo exec(mysqldump --opt  --u root BASE >FICHIER);

n°1984333
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2010 à 14:27:23  profilanswer
 

si le chemin de ton mysqldump n'est pas dans la variable d'environnement PATH, ça risque pas de fonctionner. Je parie que quand tu fais le test sous DOS, t'es dans le répertoire où se trouve mysqldump.
 
Edit : et perso, j'utilise shell_exec() pour faire un dump en ligne de commande sous php.


Message édité par rufo le 15-04-2010 à 14:35:26

---------------
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°1984362
xxbenitoxx
Posté le 15-04-2010 à 14:45:55  profilanswer
 

FLO, le résultat est : que dalle !!! rien, même pas un 0.
 
RUFO : Et si, j'ai ajouter le répertoire "c: ... easyphp ... bin" à la variable d'environnement.
 
Par contre, le problème ne doit pas en être loin.
 
Lorsque je fais un  

Code :
  1. passthru("DIR" )

,
 mon script PHP affiche bien le contenu du dossier.
 
Cependant, lorsque je fais  

Code :
  1. passthru("mysqldump" )

,
il ne m'affiche que dalle. Alors que si je tape "mysqldump", sous DOS et a partir de n'importe quel dossier, je reçois :
 
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

 
 
Je pense que PHP n'arrive pas a interprété la commande mysqldump, même si il arrive tout de même a créer le FICHIER.
 


Message édité par xxbenitoxx le 15-04-2010 à 14:48:45
n°1984367
flo850
moi je
Posté le 15-04-2010 à 14:47:43  profilanswer
 

et juste pour etre sur  
exec("mysqldump --opt  --u root BASE >FICHIER" )

n°1984374
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2010 à 14:52:15  profilanswer
 

moi, j'ai aucun pb pour faire un dump avec mysqldump via php avec shell_exec() sauf que partout, je mets le chemin en absolu (pour mysqldump et le fichier dump).


Message édité par rufo le 15-04-2010 à 14:52:38

---------------
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°1984375
stealth35
Posté le 15-04-2010 à 14:52:44  profilanswer
 

ouai ou juste ca

Code :
  1. echo `mysqldump`;
  2.  
  3. /*
  4. Usage: mysqldump [OPTIONS] database [tables]
  5. OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
  6. OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
  7. For more options, use mysqldump --help
  8. */

Message cité 2 fois
Message édité par stealth35 le 15-04-2010 à 14:53:17
n°1984376
xxbenitoxx
Posté le 15-04-2010 à 14:52:47  profilanswer
 

non, pas mieux :(.
 
Hormis les double quote, ... c'est la même qu'avant, non ? (sans les quotes, ERREUR)

n°1984380
flo850
moi je
Posté le 15-04-2010 à 14:54:44  profilanswer
 

stealth35 a écrit :

ouai ou juste ca

Code :
  1. echo `mysqldump`;
  2.  
  3. /*
  4. Usage: mysqldump [OPTIONS] database [tables]
  5. OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
  6. OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
  7. For more options, use mysqldump --help
  8. */



félicitation tu viens de lui faire afficher mysqldump

 


essaye

Code :
  1. echo exec("mysqldump" );
 

puis

 
Code :
  1. echo exec("/le/chemin/vers/mysqldump" );


Message cité 1 fois
Message édité par flo850 le 15-04-2010 à 14:55:09
n°1984382
stealth35
Posté le 15-04-2010 à 14:55:33  profilanswer
 

xxbenitoxx a écrit :

non, pas mieux :(.
 
Hormis les double quote, ... c'est la même qu'avant, non ? (sans les quotes, ERREUR)


 
ouai les quote comme ca reviens a faire shell_exec
mais bon c'est que c'est pas dans ton PATH
 
fait un :

Code :
  1. echo $_SERVER["PATH"];


mood
Publicité
Posté le 15-04-2010 à 14:55:33  profilanswer
 

n°1984384
stealth35
Posté le 15-04-2010 à 14:56:39  profilanswer
 

flo850 a écrit :


félicitation tu viens de lui faire afficher mysqldump  


" !== `
' !== '
 
http://www.php.net/manual/fr/langu [...] cution.php
 
félicitation pour ta culture...
 
et exec ca affiche uniquement la premiere ligne


Message édité par stealth35 le 15-04-2010 à 14:58:20
n°1984386
xxbenitoxx
Posté le 15-04-2010 à 14:58:02  profilanswer
 

stealth35 a écrit :

ouai ou juste ca

Code :
  1. echo `mysqldump`;



 
Ça affiche mysqldump ;).
 
Sinon, j'ai essayé ça :

Code :
  1. echo exec('mysqldump');
  2. echo shell_exec('mysqldump');
  3. echo system('mysqldump');
  4. echo passthru('mysqldump');

Et pour les 4, je ne reçois rien !

n°1984387
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2010 à 14:58:44  profilanswer
 

c'est ec que je dis depuis le début que ça variable PATH (celle du DOS) n'est pas renseignée avec le chemin de mysqldump. Il me soutient que si, sa preuve : passthru("DIR" );

Citation :

mon script PHP affiche bien le contenu du dossier


 
-> Je ne vois pas trop le rapport entre DIR et PATH :/


---------------
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°1984388
stealth35
Posté le 15-04-2010 à 14:59:09  profilanswer
 

et pour  
echo $_SERVER["PATH"]; ?

n°1984394
xxbenitoxx
Posté le 15-04-2010 à 15:02:26  profilanswer
 

:).
 
J'ai ajouter mysqldump dans le PATH de WINDOWS :P ...
 
$_SERVER['PATH'] ne me donne pas le lien du mysqldump , j'espère tout simpleùment que c'est ca :P !

n°1984396
stealth35
Posté le 15-04-2010 à 15:04:11  profilanswer
 

tu dois juste donnée le dossier bin de ton mysql


Message édité par stealth35 le 15-04-2010 à 15:04:18
n°1984397
xxbenitoxx
Posté le 15-04-2010 à 15:04:42  profilanswer
 

Je le met ou exactement ...?

n°1984399
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2010 à 15:05:58  profilanswer
 

dans la variable PATH de DOS et après faut rebooter il me semble pour que ça soit pris en compte.


---------------
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°1984400
stealth35
Posté le 15-04-2010 à 15:07:45  profilanswer
 

ouai touche   windows + pause  -> avancé -> variable environement -> variable systeme -> PATH
 
après comme dis rufo tu reboot (juste le serveur ca suffis)

n°1984402
xxbenitoxx
Posté le 15-04-2010 à 15:08:42  profilanswer
 

Oh put***, ... j'ai peur d'un truc ....

n°1984404
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2010 à 15:11:14  profilanswer
 

oui, ton script marchera pas si la variable PATH n'est pas renseignée correctement. Voilà pourquoi en php, on fait plutôt un fichier de conf et qu'on définit des constantes avec define()... C'est plus pratique et plus portable d'un serveur à l'autre (surtout si ton serveur de dév est en windows et celui de prod en Linux, ce qui est mon cas).


---------------
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°1984405
stealth35
Posté le 15-04-2010 à 15:11:25  profilanswer
 

xxbenitoxx a écrit :

Oh put***, ... j'ai peur d'un truc ....


 
t'as tout virer ?

n°1984406
xxbenitoxx
Posté le 15-04-2010 à 15:13:11  profilanswer
 

Non, je n'avais pas redémarrer Apache depuis que j'ai modifié le PATH.
 
Pat contre, je n'ai pas redémarrer WinXP non plus ... je suis de retour dans 2 minutes !
 
Et comme j'ai le lien dans le PATH depuis le début ( je le maintien RUFO ;) ), et pas dans PHP .. le problème est suremetn de la .. (en tous cas je l'espère) !

n°1984410
xxbenitoxx
Posté le 15-04-2010 à 15:19:33  profilanswer
 

C'est malheureux à dire ... mais sa fonctionne :) !
 
Tout ca parce que j'avais oublier de redémarrer Windows ... JE ferai mieux de retourner son Linux :P !
 
Je vous remercie tous pour  m'avoir aider à résoudre ce problème, qui n'en était pas un =D !

mood
Publicité
Posté le   profilanswer
 


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

  [RESOLU] mysqldump, php et dump vide :(

 

Sujets relatifs
Afficher enregistrements champ date même si vide ?UserForm et Barre de progression [Résolu]
[résolu] Undefined index[Résolu] Héritage de classe, récupérer attribut de la classe parent
[Résolu] Class et function[Résolu] Arbre "logique" > PDAG & Co.
Remplir un tableau associatif vide au départ (et puis l'afficher)[résolu] Nom de variable dans la variable de $_session
[Résolu] Récupérer une information avec un parser 
Plus de sujets relatifs à : [RESOLU] mysqldump, php et dump vide :(


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