Sqlite错误: attempt to write a readonly database

我正在尝试使用 WSGI 在 CentOS Apache2 上运行 Flask REST 服务。 REST 服务需要非常小的存储空间。所以我决定将 SQLite 与 sqlite3 python 包一起使用。当使用 app.run() 运行时,整个应用程序在我的本地系统和 CentOS 服务器上运行良好。但是当我使用 WSGI 在 Apache 上托管应用程序时,我得到了

OperationalError: attempt to write a readonly database

我检查了文件的权限。使用 chown 和 chgrp 将文件的用户和组设置为 apache(服务器在其下运行)。此外,该文件具有 rwx 权限。我仍然收到只读数据库错误。以下是我在 db 文件上运行 ls -al 得到的结果:

 -rwxrwxrwx. 1 apache apache 8192 Nov 19 01:39 dbfile.db

除了更改数据库文件权限外,您还需要更改托管数据库文件的目录的权限。您可以尝试以下命令:

 chmod 664 /path/to/your/directory/

您还可以更改目录的所有者,如下所示:

 chown apache:apache /path/to/your/directory/

 

有话要说