php exec () - mysqldump crea un archivo vacío
Quiero crear una copia de seguridad de una base de datos, pero solo obtengo un archivo en blanco.
include('config.php');
$command = "mysqldump --opt -h ".$_host." -u ".$_user." -p ".$_pass." ".$_db." > test.sql";
exec($command);
echo "<br />".$command;
test.sql se crea donde se encuentra el archivo .php.
Editar:
¡Nota! Estoy usando XAMPP WINDOWS!
Solución:
Como estoy usando un servidor web de Windows (XAMPP), necesitaba especificar la ruta:
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
Quité el espacio entre la -p y el pase. Parece que:-pMYPASSWORD
Reemplazado"
con'
Creo que si está utilizando un servidor web basado en Linux, no tiene que especificar la ruta para mysqldump.
¡Aclamaciones! :-)