我在WAMP本地主机上使用空间/拉拉-备份。
当我手动输入windows cmd时,它工作得很好:
php artisan backup:run但当我尝试使用类运行备份时:
Artisan::call('backup:run');它抛出一个错误:
'mysqldump' not recognized ...在laravel配置中,我还指定了跳闸器的路径:
'mysql' => [
'driver' => 'mysql',
// ...
'dump' => [
'dump_binary_path' => 'E:/wamp/wamp64/bin/mysql/mysql5.7.9/bin',
],
],我怎么才能解决呢?
编辑
可能它只是支持windows的"bug“(感谢Loek的回答),正如作者所说,所以我可以在没有命令的情况下在控制器中安全地运行备份吗?也许是这样的:
use Spatie\Backup\Tasks\Backup\BackupJobFactory;
BackupJobFactory::createFromArray(config('laravel-backup'))->run();作为命令本身。
发布于 2017-01-18 14:27:17
我想是正切的斜杠。试试这个:
'mysql' => [
'driver' => 'mysql',
// ...
'dump' => [
'dump_binary_path' => 'E:\\wamp\\wamp64\\bin\\mysql\\mysql5.7.9\\bin',
],
],编辑
对Windows的支持充其量是不可靠的,多个“此包不支持Windows”的评论来自创建者关于GitHub问题的评论。这个是最新的:https://github.com/spatie/laravel-backup/issues/311
这也可能是一个许可问题。从命令行执行可能是从另一个用户执行,而不是从web服务器执行,因此Windows拒绝对mysqldump的访问。
第二版编辑
只要您确保控制器只在需要时才会被调用,我就不明白这为什么不能工作了!
https://stackoverflow.com/questions/41721855
复制相似问题