【问题标题】:PHP Ubuntu - Backup and Restore MySQlPHP Ubuntu - 备份和恢复 MySQl
【发布时间】:2014-03-08 16:28:45
【问题描述】:

我关注this,它在 Window 中运行良好

但是当我在 ubuntu (13.10) 中运行并使用 xampp 时

<?php
$server     = "localhost";
$username   = "root";
$password   = "root";
$db = "test";
$restore_file   = "/home/myname/test.sql";
$cmd = "/opt/lampp/bin/mysql -h {$server} -u {$username} -p{$password} {$db} < $restore_file";
//umask(0);
exec($cmd);
echo "Restore complete!";
?>

它回显恢复完成但数据库为空。如果我在终端上运行脚本,那么它可以工作。

如何解决这个问题,谢谢

【问题讨论】:

  • 尝试在$cmd中不使用花括号
  • @Sadik 它必须正在运行,因为 restore complete 显示在浏览器上
  • echo $cmd;O/P 是什么?
  • 输出为/opt/lampp/bin/mysql -h localhost -u root -proot test &lt; /home/myname/test.sql
  • 你可以直接在shell中执行那个命令吗?

标签: php mysql xampp


【解决方案1】:

什么是 O/P?

<?php
        if(function_exists('exec')) {
        echo "exec function is enabled";
        }
        else {
        echo "exec is not enabled";
        }
  ?>

编辑
在 shell 中执行此命令。

chmod +x /opt/lampp/bin/mysql

编辑

exec($cmd, $output, $return); 

echo $output;
if (!$return) {
    echo "Success";
} else {
    echo "Failed";
}

【讨论】:

  • 输出为exec function is enabled
  • 可能是权限问题。
  • 什么是$output$return 变量?
猜你喜欢
  • 1970-01-01
  • 2013-02-24
  • 2012-02-07
  • 1970-01-01
  • 2011-05-28
  • 2016-12-05
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
相关资源
最近更新 更多