Sqlite3通过PHP转储数据库

时间:2014-03-05 12:24:03

标签: php sqlite

我希望能够将整个sqlite数据库转储到文件(database.sql),以便将其用作备份。问题是PHP中的exec()似乎没有正确运行“.dump”命令,因为它只提供“COMMIT;”结果而不是全文:

$db = new SQLite3('checks_db.db');
$results=$db->exec('.dump');
$content=$results->fetchArray();

如果我从sqlite3运行它,它会给出架构和插入数据的插入。 也许我还应该提一下,数据库有777权限。 任何人都可以在php-sqlite3中编写'.dump'命令的语法示例吗?

1 个答案:

答案 0 :(得分:5)

SQLite数据库没有.dump命令。

sqlite3 command-line shell有一个.dump命令。 为了能够使用它,您必须执行该工具;像这样的东西:

exec('sqlite3 /some/where/checks_db.db .dump', $output);

进行备份的最简单方法是复制数据库文件本身,但使用shell的.backup命令会更安全。