gpt4 book ai didi

php - 是的,又是一个 SQLSTATE[HY000] [14]

转载 作者:太空宇宙 更新时间:2023-11-04 04:32:43 27 4
gpt4 key购买 nike

我尽可能阅读了网络上的所有帖子(不仅是在这个精彩的论坛中),我从 5 年前开始使用 SQLite,但我仍然有这个“bug”(我不知道它是如何命名的):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();

最佳答案

当进程写入时,sqlite 文件会被锁定。请参阅有关此的 sqlite 文档 here .

The RESERVED lock signals that the process intends to write to the database at some point in the future. Only one process at a time can hold a RESERVED lock

尝试在写入后关闭 sqlite 数据库,因为您的脚本可能会在每次运行时尝试重新打开已打开的 sqlite 文件。

关于php - 是的,又是一个 SQLSTATE[HY000] [14],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com