【发布时间】:2018-10-20 15:45:18
【问题描述】:
我尽可能阅读网络上的所有帖子(不仅在这个精彩的论坛中),我现在使用 5 年前的 SQLite,但我仍然是这个“错误”(我不知道它是如何命名的):SQLSTATE[ HY000] [14]
- 是的,我的文件夹是可写的
- 是的,这个 sqlite 文件是可写的
- 是的用户和组设置为 www-data(服务器用户)
- 是的,我已经设置了 sqlite 并在同一台服务器上使用它(所以不是配置问题)
那到底是怎么回事?
ls:
user@host:/folder/where/is/the/site$ ls -lha db_folder/
total 36K
drwxrwxr-x 3 www-data www-data 4.0K May 10 06:15 .
drwxr-xr-x 3 www-data www-data 4.0K May 10 06:34 ..
-rwxrwxrwx 1 www-data www-data 36K May 10 05:22 db.sqlite
提前致谢。
编辑:我的 php 代码,即使它对我来说不是很具体:
$db = new PDO('sqlite:dbname=./db_folder/db_file.sqlite', '', '', array(PDO::ATTR_PERSISTENT => true));
$articles = $db->query('SELECT * FROM articles ORDER BY name')->fetchAll();
【问题讨论】:
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Unix & Linux Stack Exchange 或Database Administrators Stack Exchange 会是一个更好的提问地点。
-
是否有可能还有另一个 SQLite 进程在某个地方(或其他进程)运行,它仍然拥有数据库文件的句柄?你已经被每个人都做到了
rwx,所以权限应该不再是一个问题(顺便说一下,你可能不想在生产中这样做)。 -
当然不是生产配置,我只是尝试制作 sqlite 作品 :) 但我认为没有启动另一个实例,我现在上传它并在之后尝试....跨度>
-
代码可能有问题。但只要你保密,没有人会知道。
-
我的代码很简单:一个新的 PDO 对象。即使我在创建对象后退出,我也有这个错误....