1

我正在尝试在我的 Linux/Apache 服务器上使用 PHP 和 sqlite 实现一个简单的数据库。

我可以很容易地从中读取,但我无法执行任何 UPDATE、DELETE 或 INSERT 操作。我得到的致命错误是:

General error: 5 database is locked

举个简单的例子:

$pdo=new PDO('sqlite:test.sqlite');
$pdo->exec("INSERT INTO menus(id,name,description) VALUES(6,'test','this is a test')");

这等待了很长时间(大约一分钟),然后报上面的错误。

我已经阅读了很多建议,其中许多建议数据库或其包含的文件夹应该是可写的。他们是。(或者是。我让它们在世界范围内可写以供测试,并在失败时恢复更合理的权限。)

使用其他技术(例如 Linux 中的 sqlite3 命令和 Firefox 中的 SQLite 管理器插件)写入数据库时​​我没有遇到任何问题。

我欢迎任何关于如何完成这项工作的评论。

4

1 回答 1

1

请尝试为数据库文件授予 777 权限,然后重试。我怀疑它与权限有关,因为您可以使用 sqlite3 程序修改数据库。

如果失败,请尝试查看此问题的答案。

于 2012-09-04T14:51:12.827 回答