AlmalinuxでLaravelの環境構築をするときに下記のエラーが出ました。
「SQLSTATE[HY000]: General error: 8 attempt to write a readonly database」
要はデータベースが読み込みだけになっていて書き込みができませんということなので、権限の変更を行えばOKです
「chmod 777 database/database.sqlite -R」
メモをするのを忘れてしまったのですが、sqlite関連がエラーと書いてあったので、
/var/www/html/プロジェクト/database/にdatabase.sqliteがありますので、ここの権限を変更するということです。
目次
webサーバーから書き込みをする場合
webサーバーから書き込みをする場合も権限を変更する必要があります。
書き込み権限をapacheなどに変更します。apacheの部分はwebサーバーのユーザー名ですのでそれぞれの名前を入れてください。
確認方法
ps aux | grep apache
続いてそのwebサーバーユーザーがSQLIteファイルにアクセルできるように権限の主体を変更します。
chown apache:apache database/database.sqlite
また、このデータベースファイルが含まれるディレクトリも権限を変更します。
chown apache:apache database/
権限の主体を変更出来たら書き込み権限を付与します
chmod 664 database/database.sqlite
ディレクトリには実行権限も付与します
chmod 775 database/
これでwebサーバーからも書き込みができるようになります。
コメント