我希望能够将整个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'命令的语法示例吗?
答案 0 :(得分:5)
SQLite数据库没有.dump
命令。
sqlite3
command-line shell有一个.dump
命令。
为了能够使用它,您必须执行该工具;像这样的东西:
exec('sqlite3 /some/where/checks_db.db .dump', $output);
进行备份的最简单方法是复制数据库文件本身,但使用shell的.backup
命令会更安全。