Quiero crear una copia de seguridad desde una base de datos, pero obtengo solo un archivo en blanco.php exec() - mysqldump crea un archivo vacío
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:
porque estoy usando un servidor Web de Windows (XAMPP), que tenía que especificar la ruta:
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
- me quita el espacio entre el -py El permiso. Parece que:
-pMYPASSWORD
- Sustituido
"
con'
Creo que si está utilizando un servidor web basado en Linux, que no tiene que especificar la ruta de mysqldump.
¡Salud! :-)
Creo que debería eliminar el espacio entre la -p y la contraseña. –
Todavía obtiene un archivo en blanco. –
¿Ha intentado hacer eco del comando (para asegurarse de que todas las variables se pasen como se esperaba) o probarlo manualmente con la entrada correcta? – Fluffeh