gpt4 book ai didi

php - 当我通过 Artisan 类运行时,sp​​atie/laravel-backup "mysqldump"无法识别

转载 作者:行者123 更新时间:2023-11-29 06:05:53 26 4
gpt4 key购买 nike

我正在使用 spatie/laravel-backup在 WAMP 本地主机中。

当我在 Windows cmd 中手动输入时它工作正常:

php artisan backup:run

但是当我尝试使用 laravel Artisan 类运行备份时:

Artisan::call('backup:run');

它抛出一个错误:

'mysqldump' not recognized ...

在 laravel mysql 配置中,我还指定了转储程序的路径:

'mysql' => [
'driver' => 'mysql',
// ...
'dump' => [
'dump_binary_path' => 'E:/wamp/wamp64/bin/mysql/mysql5.7.9/bin',
],
],

我该如何解决?


编辑

可能只是支持 Windows 的“错误”(感谢 Loek 的回答),as the author says ,那么我可以在没有命令的情况下安全地在 Controller 中运行备份吗?也许是这样的:

use Spatie\Backup\Tasks\Backup\BackupJobFactory;

BackupJobFactory::createFromArray(config('laravel-backup'))->run();

作为command本身。

最佳答案

我相信这是正斜杠。试试这个:

'mysql' => [
'driver' => 'mysql',
// ...
'dump' => [
'dump_binary_path' => 'E:\\wamp\\wamp64\\bin\\mysql\\mysql5.7.9\\bin',
],
],

编辑

对 Windows 的支持充其量是靠不住的,创建者在 GitHub 问题上发表了多条“此软件包不支持 Windows”的评论。这是最新的:https://github.com/spatie/laravel-backup/issues/311

也可能是权限问题。从命令行执行可能是从另一个用户而不是从 Web 服务器执行,因此 Windows 拒绝访问 mysqldump。

第二次编辑

只要您确保 Controller 只在需要时被调用,我不明白为什么这行不通!

关于php - 当我通过 Artisan 类运行时,sp​​atie/laravel-backup "mysqldump"无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721855/

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