我已经在我的项目上安装了sepatie/backup
包,并配置为创建mysql备份。运行php artisan backup:run
时,可以使用此功能。但我想做的是让用户自由创建备份点击一个按钮。所以我做了这样的事情
Route::get('backup-run', function() {
Artisan::call('backup:run');
return response()->json(['success' => 'Backup for database created']);
});
和一个带有vue js方法的按钮
createDBBackup() {
axios.get('/backup-run')
.then(response => {
在database.php
上,我添加了在文档中找到的此配置
'dump' => [
'dump_binary_path' => 'C:\xampp\mysql\bin', // only the path, so without `mysqldump` or `pg_dump`
'use_single_transaction',
'timeout' => 60 * 5, // 5 minute timeout
],
作为响应,我在clockwork
上得到了一些类似的错误
Spatie\Backup\Events\BackupHasFailed exception: Spatie\DbDumper\Exceptions\DumpFailedbackupDestination: null
exception: Spatie\DbDumper\Exceptions\DumpFailed
*message: "The dump process failed with exitcode 2 : Misuse of shell builtins : mysqldump: Got error: 2004: "Can't create TCP/IP socket (10106)" when trying to connect
"
~string: ""
*code: 0
*file: "C:\...\vendor\spatie\db-dumper\src\Exceptions\DumpFailed.php"
*line: 17
~trace: Array(79)
~previous: null
backupDestination: null
1条答案
按热度按时间wnrlj8wa1#
尝试直接从您的localhost访问该项目,而不使用artisan,然后从地址栏localhost/project/backup导航到您的项目目录现在,它将在storage/app/public/ directory中生成备份
Solution