gpt4 book ai didi

php - Laravel mysqldump 创建空文件,但通过 xampp shell 执行时相同的命令可以工作

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

在 Xampp 321 Win7 Mysql5.6 PHP 5.6.3 上运行 Laravel 5.2 我无法创建 BD 转储文件 .sql

        $filename = "backup-".Carbon\Carbon::now()->format('Y-m-d_H-i-s').".sql  2>&1";

try{
$command = "mysqldump --user=" . env('DB_USERNAME') ." --password=" . env('DB_PASSWORD') . " --host=" . env('DB_HOST') . " " . env('DB_DATABASE') . " > " . storage_path() . "/" . $filename;
$returnVar = NULL;
$output = NULL;
//exec command allows you to run terminal commands from php
exec($command, $output, $returnVar);
//dd($command);
return 1;
}catch(Exception $e){
return $e->errorInfo; //some error
}

加载脚本时它会生成一个空文件!但是通过执行 dd ($ 命令) 并复制粘贴此文本,此命令在 Xampp shell 中可以正常工作。请问有什么想法吗?

最佳答案

用此代码解决:设置 mysqldump 的绝对路径并在 url var 中添加双反斜杠

    $filename = "backup-".date("d-m-Y-H-i-s").".sql";
$mysqlPath = "D:\\xampp/mysql/bin/mysqldump";

try{
$command = "$mysqlPath --user=" . env('DB_USERNAME') ." --password=" . env('DB_PASSWORD') . " --host=" . env('DB_HOST') . " " . env('DB_DATABASE') . " > " . storage_path() . "/" . $filename." 2>&1";
$returnVar = NULL;
$output = NULL;
exec($command, $output, $returnVar);
return 1;//ok

}catch(Exception $e){
return "0 ".$e->errorInfo; //some error
}

关于php - Laravel mysqldump 创建空文件,但通过 xampp shell 执行时相同的命令可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42100648/

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