php exec () - mysqldump erzeugt eine leere Datei

Ich möchte ein Backup aus einer Datenbank erstellen, erhalte aber nur eine leere Datei.

include('config.php');

$command = "mysqldump --opt -h ".$_host." -u ".$_user." -p ".$_pass." ".$_db." > test.sql";
exec($command);

echo "<br />".$command;

test.sql wird dort erstellt, wo sich die .php-Datei befindet.

Bearbeiten:

Hinweis! Ich benutze XAMPP WINDOWS!

Lösung:

Da ich einen Windows-Webserver (XAMPP) verwende, musste ich den Pfad angeben:

$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
Ich habe das Leerzeichen zwischen -p und dem Pass entfernt. Es sieht aus wie:-pMYPASSWORDErsetzt" mit'

Ich denke, wenn Sie einen Linux-basierten Webserver verwenden, müssen Sie den Pfad für mysqldump nicht angeben.

Prost! :-)

Antworten auf die Frage(7)

Ihre Antwort auf die Frage