gpt4 book ai didi

php - 尝试写入只读数据库错误

转载 作者:行者123 更新时间:2023-12-03 18:45:39 25 4
gpt4 key购买 nike

我使用SQLite数据库创建了一个新的Laravel应用,用于用户登录系统。我遇到一个奇怪的问题,收到以下错误:


> SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
> (SQL: update "users" set "remember_token" =
> HH0dtQYZ5BgoOpya1hNRUrFvIZF0dcYqdIvAjz0k6CbTKBqah7wWPdQbgzzL,
> "updated_at" = 2016-06-18 12:47:43 where "id" = 1)



我最初认为我的SQLite db文件存在一些权限问题,但是正确的用户具有访问该文件的权限,并且我已将chmod设置为 755
仅在首次登录时才会出现此问题,如果我刷新页面(并重新发送表单数据),则应用程序将成功登录。我的应用程序中的任何其他数据库操作都没有遇到此问题。

最佳答案

对于可能需要此权限的任何人,请检查您的文件权限。

如果您的database.sqlite文件在database/下,请将权限设置为775(755对我不起作用)。

$ chmod -R 775 database


将组设置为 www-data并拥有自己的所有权也可能是值得的。

$ chgrp -R www-data database
$ chown -R USERNAME database


显然,将 database替换为 .sqlite数据库所在的文件夹的路径。还请在执行任何迁移命令或 passport:install之后检查权限。我确定这是用户错误,但有一次我以为我已经递归地设置了目录上的文件权限,但是实际的 .sqlite文件已以某种方式恢复为 644,所有者和组都是我的用户。

那可能是由于我弄乱了一个构建脚本,但是我的意思是-第二次检查比挖掘SO问题要快。

同样值得注意的是,如果您有某些路由有效,但其他路由却因500错误而失败,请检查表中是否确实有至少一行数据。我建议创建播种器并运行 php artisan passport:install来生成一些初始数据。

关于php - 尝试写入只读数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897187/

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