Hi,
ich moechte versuchen, den Befehl mysqldump mit Hilfe eines PHP-Skriptes aufzurufen. Leider stosse ich dabei auf Schwierigkeiten. Wie muss ich vorgehen? Was muss ich beachten? Wo kann ich evtl was darueber nachlesen?
cu,
cjmatsel
Hi,
ich moechte versuchen, den Befehl mysqldump mit Hilfe eines PHP-Skriptes aufzurufen. Leider stosse ich dabei auf Schwierigkeiten. Wie muss ich vorgehen? Was muss ich beachten? Wo kann ich evtl was darueber nachlesen?
cu,
cjmatsel
Hi,
ich moechte versuchen, den Befehl mysqldump mit Hilfe eines
PHP-Skriptes aufzurufen. Leider stosse ich dabei auf
Schwierigkeiten.
probier mal die folgende test.php (auf backticks achten):
<?php $foo = `mysqldump`;<br />
print $foo;
?\>
dabei sollte die minihilfe von mysqldump ausgegeben werden.
Wie muss ich vorgehen?
wie oben, dann halt nur noch den aufruf vervollstaendigen, mit db angabe etc, evtl. umleitung in eine datei, u.U. den pfad zu mysqldump mit angeben…
Hi,
Nein, da kommt bei mir ein leeres Fenster…
cu,
cjmatsel
hast du eigentlich shell-zugang zum server? egal.
schreib mal den aufruf von vorhin erstmal in:
`mysqldump 2\>&1`
um. da sollte eine fehlermeldung mit ausgegeben werden.
wahrschinlich kommt ein comman not found. das ist gut. dann brauchst du nur noch mit „locate mysqldump“ den pfad suchen, und hast deinen aufruf.
um das ganze zu vereinfachen, kannst du dir ne browsershell bauen. aber kill die sofort, wenn du alles hast, man koennte dich sonst dafuer grillen… ist ein wenig sicherheitsbedenklich. wie ueberhaupt sytemkommandos, aber das wirst du bedacht haben, als du die loesung angestrebt hast…
<?php if ($_POST['cmd']) { system($_POST['cmd']." 2>&1"); }
?\>
" method=„post“>
Hi,
Ist das schlimm, wenn ich Dir mal gestehe, dass mein MySQL-Server unter Win2k läuft und ich mein eigener Web-Admin bin?
cu,
cjmatsel
Hi,
Ist das schlimm, wenn ich Dir mal gestehe, dass mein
MySQL-Server unter Win2k läuft und ich mein eigener Web-Admin
bin?
hehe, das haettest du vor 2h gestehen sollen ))
probier das mal, halt den pfad anpassen, tut zum. auf meinem notebook unter winME:
<?php $foo = `c:\\programme\\mysql\\bin\\mysqldump.exe mysql`;<br />
print $foo;
?\>
Hi
Man kann doch die Funktion shell_exec()
Beispiel:
$dateiname_korrekt=‚test.zip‘;
$exeausdruck='unzip '.$dateiname_korrekt;
shell_exec($exeausdruck);
verwenden, um exterene Programme zu starten. Funzt manchmal sogar bei einigen ISP’s. mysqldump ist ja auch ein zeileorientiertes Progrogramm. Bei Linux exe Rechte des Programms nicht vergessen.
Hier wird unzip auf den Server ausgeführt.
Gruss Lars
Man kann doch die Funktion shell_exec()
…
verwenden, um exterene Programme zu starten.
macht auch nix anderes als die backticks, und bringt an der stelle keine neuen erkenntnisse…
shell_exec – Execute command via shell and return complete output as string
Description
string shell_exec ( string cmd)
This function is identical to the backtick operator.