Я установил менеджер резервного копирования Laravel (драйвер Laravel для менеджера резервного копирования базы данных 1.3.1), и в настоящее время я могу выполнять резервное копирование базы данных с помощью командной строки.И это работает.
php artisan db:backup --database=mysql --destination=local --destinationPath=project --timestamp="h-d-m-Y" --compression=null
но я хочу настроить представление для этого, так что это мое представление,
@extends('main')
@section('title',' New Item Category')
@section('ribbon','Item Management')
@section('content')
<div class="card">
<button class="btn btn-success" id="backup">Backup</button>
</div>
<script>
$( document ).ready(function() {
$('#backup').click(function(){
$.ajax({
url: BASE + '/backup_post',
type: 'POST',
dataType: 'JSON',
//data: $.param(params),
success: function (response) {
alert(response);
}
});
});
});
</script>
@endsection('content')
Это мой контроллер
<?php
namespace App\Http\Controllers;
// ini_set('max_execution_time', 180);
// ini_set('memory_limit', '-1');
use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Response;
class BackupController extends Controller
{
public function index(){
return view('system_mgmt.backup');
}
public function backup_post () {
$now = Carbon::now()->format("Y-m-d-H-m-i").'-backup.sql';
//return response()->json(['status' => 'success']);
try {
Artisan::call('db:backup',
[
'--database' => 'mysql',
'--destination' => 'local',
'--destinationPath' => $now,
'--compression' => null,
]
);
}
catch(\Exception $e) {
return Response::json([
'success' => false,
'errors' => ""
], 400);
}
return Response::json([
'success' => true,
'message' => 'success'
]);
}
}
Но я получаю следующее FatalErrorException
Скажите мне, что я должен сделать, чтобы эта штука работала.спасибо