Так что это ломает мне голову .. Я пытаюсь использовать php для резервного копирования (и, возможно, восстановить базу данных MySQL). Ничего слишком сложного, но это просто не сдвинется с места …
$mysqlDatabaseName ='ccdb';
$mysqlUserName ='root';
$mysqlPassword ='root';
$mysqlHostName ='localhost';
$time = time();
$mysqlExportPath ='C:\Server-Xampp\htdocs\DBbackup\ccdb-backup-' . $time . '.sql';
$command='mysqldump -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > "' .$mysqlExportPath. '"';
exec($command,$output=array(),$return);
$ return дает мне 1, файл создан, но он ПУСТО.
Я пробовал с прямой и обратной косой чертой для пути, не помогает. Также добавил хост в команду, без изменений …
Я просматривал Интернет, но большинство людей просто заявляют, что «это предупреждение», что может быть очень хорошим ответом, но на самом деле он ничего не говорит мне или как это исправить.
Я подумал: «Хорошо, должно быть, вводишь что-то неправильно» и попробовал точно такой же код в моей оболочке, чтобы увидеть
mysqldump -uroot -proot ccdb > "C:\Server-Xampp\htdocs\DBbackup\ccdb-backup-0000000000.sql"
создал файл размером 23 КБ … Так что принцип, лежащий в основе этого, в порядке .. возможно какая-то крошечная ошибка синтаксиса или что-то еще ..
Любые решения или советы приветствуются
о да, запуск Xampp v3.2.1 в качестве локального хоста
ОБНОВИТЬ:
изменил что-то в моих настройках apache, и вдруг появилась ошибка, наконец подсказка.
mysqldump не распознается как внутренняя или внешняя команда,
работоспособная программа или командный файл.
попытался обойти, указав путь к mysqldump, но не повезло 🙁
$mysqlDatabaseName ='ccdb';
$mysqlUserName ='root';
$mysqlPassword ='root';
$mysqlHostName ='localhost';
$time = time();
$mysqlExportPath ='C:\Server-Xampp\htdocs\DBbackup\ccdb-backup-' . $time . '.sql';
$dump = 'C:\Server-Xampp\mysql\bin\mysqldumb.exe';$command= $dump . ' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > "' .$mysqlExportPath. '"';
exec($command,$output=array(),$worked);
var_dump($worked);
Та же ошибка … (да тоже пробовал без .exe) Есть идеи?
Задача ещё не решена.
Других решений пока нет …