PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql dump mithilfe von php funktion



leifg
27-01-2005, 20:28
ich möchte folgendes realisieren:

beim aufruf einer seite wird eine bestimmte datenbank als dump im browser angezeigt.

das ist eg schon alles, wie kann ich möglichst einfach über einen php funktion einen dump einer datenbank erstellen?

phpmyadmin kann das recht einfach (über die exportieren als sql funkktion) ich möchte das aber automatisert haben

für hilfe dankbar

mfg
leifg

jofisch
28-01-2005, 09:56
hi,

ich würd das mit shell_exec machen.


shell_exec('mysqldump -B <datenbank> --user=<username> --password=<passwort> > <da wo du den dump hinhaben willst>');

dann einfach den dump verlinken. ;)

mfg
jofisch

leifg
28-01-2005, 15:14
sooo, ich hab jetzt folgendes script geschrieben:


<?php
$output=shell_execute('mysqldump -B datenbank --user=user --password=pass');
echo $output;
?>

die userdaten, passwort und datenbank stimmen (natürlich nicht so wie sie da stehen aber in meinem script stimmen sie ;)) also das problem ist es schon mal nicht.

das ganze liefert mir die fehlermeldung:
Fatal error: "Call to undefined function: shell_execute() in /srv/www/htdocs/web47/html/sitebar/sitebar_database.php on line 2". nach etwas recherche im internet habe ich dann raus gefunden dass es am einstestellten safe mode liegt (den ich unglücklicherweise auch nicht ausschalten kann). also habe ich das gleiche mit den funktionen system(), passthru() und execute() probiert, allerdings bekomme ich hier gar keine ausgabe.

das ganze würde theoretisch gehen, allerdings möchte ich das ganze auf meinem web server laufen haben, dieser hat aber eine total verkrüppelte mysql und php drauf sodass das ganze scheinbar nicht möglich ist. zum vergleich habe ich das ganze mal auf meinem lokalen linux server laufen lassen und siehe da es funktioniert einwandfrei.

um euch mal ein paar weitere infos zu geben habe ich die php-info funktion auf meinem web space ausgeführt. das ergebnis findet ihr hier: http://malter.trinktbier.org/php-info.php

jofisch
31-01-2005, 11:59
hi,

die funktion heißt auch einfach nur "shell_exec" und nicht "shell_execute"! Bei "shell_execute" bringt er bei mir auch den Fehler...

mfg
jofisch

leifg
31-01-2005, 15:10
shell_execute durch shell_exec ersetzt bringt mir die gleiche meldung:


Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /srv/www/htdocs/web47/html/sitebar/sitebar_database.php on line 2

mfg
leifg

shb
31-01-2005, 20:37
wer lesen kann ist klar im vorteil!

Fatal error: "Call to undefined function: shell_execute()
Warning: shell_exec(): Cannot execute using backquotes in Safe Mode

gibs doch wie im beispiel in eine datei aus, und wenn dus in der seite wieder haben willst,dann kannst dus mit include einbinden, oder mit fopen.
cu SHB

leifg
20-02-2005, 00:59
hab rausgefunden dass das installierte php auf dem server ein ziemlich verkrüppeltes is (genaue informationen: http://trinktbier.org/php-info.php) (das ganze läuft im safe mode wo das ausführen jeglicher befehle, verboten is, bzw nur in einem verzeichnis gestattet is auf das ich keinen zugriff hab)

per hand kann ich jedach datenbanken dumpen (über phpmyadmin, was vorinstalliert ist)

gibts da muss es doch ein befehl geben der mir eine datenbank ausliest ohne system funktionen zu benutzen

mfg
leifg