gpt4 book ai didi

mysql - 升级到 Laravel 7 后不能再使用 mysqldump

转载 作者:行者123 更新时间:2023-12-02 00:05:57 24 4
gpt4 key购买 nike

今天我决定将我的 laravel 项目升级到 7.0 版本。从那时起,我无法通过 artisan 命令 mysqldump 我的数据库。有什么建议吗?

php artisan backup:run

Symfony\Component\Process\Exception\ProcessFailedException

The command "'mysqldump --user=***** --password=****** ****** > /home2/****/subdomains/intranet/storage/app/backups/backup-2020-03-12_15:15:18.sql'" failed.

Exit Code: 127(Command not found)

在 Laravel 6 中工作的代码:

class BackupRun extends Command
{
protected $signature = 'backup:run';
protected $description = 'Run Backup';

protected $process;
protected $filename;


public function __construct()
{
parent::__construct();

$this->filename = 'backup-' . strftime('%Y-%m-%d_%H:%M:%S') . '.sql';

$this->process = new Process([sprintf(
'mysqldump --user=%s --password=%s %s > %s',
config('database.connections.mysql.username'),
config('database.connections.mysql.password'),
config('database.connections.mysql.database'),
storage_path("app/backups/{$this->filename}")
)]);
}

public function handle()
{
$this->process->mustRun();
}
}

最佳答案

我也有同样的问题,并找到了解决方案,在 laravel 7 中你不能使用符号“>”,使用参数 --result-file =

    $this->process = new Process([
'mysqldump',
'--user=' . config('database.connections.mysql.username'),
'--password=' . config('database.connections.mysql.password'),
config('database.connections.mysql.database'),
'--result-file=' . $file
]);

关于mysql - 升级到 Laravel 7 后不能再使用 mysqldump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60656068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com