bug fix in database backups file create

This commit is contained in:
Hesabix 2025-07-02 15:11:46 +00:00
parent 0f9d8915a6
commit 752295b83a

View file

@ -19,7 +19,7 @@ final class DatabaseController extends AbstractController
{ {
$this->registryMGR = $registryMGR; $this->registryMGR = $registryMGR;
$this->entityManager = $entityManager; $this->entityManager = $entityManager;
$this->backupPath = dirname(__DIR__, 2) . '/hesabixBackup/versions'; $this->backupPath = dirname(__DIR__, 4) . '/hesabixBackup/versions';
} }
#[Route('/api/admin/database/backup/info', name: 'app_admin_database_backup_info', methods: ['GET'])] #[Route('/api/admin/database/backup/info', name: 'app_admin_database_backup_info', methods: ['GET'])]
@ -53,6 +53,11 @@ final class DatabaseController extends AbstractController
$filename = 'Hesabix-' . time() . '.sql'; $filename = 'Hesabix-' . time() . '.sql';
$filepath = $this->backupPath . '/' . $filename; $filepath = $this->backupPath . '/' . $filename;
// بررسی دسترسی پوشه مقصد
if (!is_writable($this->backupPath)) {
throw new \Exception('پوشه مقصد قابل نوشتن نیست: ' . $this->backupPath);
}
// دریافت تنظیمات دیتابیس از EntityManager // دریافت تنظیمات دیتابیس از EntityManager
$connection = $this->entityManager->getConnection(); $connection = $this->entityManager->getConnection();
$params = $connection->getParams(); $params = $connection->getParams();
@ -65,7 +70,7 @@ final class DatabaseController extends AbstractController
// دستور mysqldump // دستور mysqldump
$command = sprintf( $command = sprintf(
'mysqldump -h %s -P %s -u %s -p%s %s > %s', 'mysqldump -h %s -P %s -u %s -p%s %s > %s 2>&1',
escapeshellarg($dbHost), escapeshellarg($dbHost),
escapeshellarg($dbPort), escapeshellarg($dbPort),
escapeshellarg($dbUser), escapeshellarg($dbUser),
@ -86,7 +91,7 @@ final class DatabaseController extends AbstractController
return $this->json([ return $this->json([
'result' => 1, 'result' => 1,
'filename' => $filename, 'filename' => $filepath,
'message' => 'پشتیبان با موفقیت ایجاد شد' 'message' => 'پشتیبان با موفقیت ایجاد شد'
]); ]);
} catch (\Exception $e) { } catch (\Exception $e) {