J'ai une base de données SQLite que j'utilise pour un site Web. Le problème est que lorsque j'essaye INSERT INTO
, j'obtiens unPDOException
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
J'ai SSH sur le serveur et vérifié les autorisations, et la base de données a les autorisations
-rw-rw-r--
Je ne connais pas très bien les autorisations * nix, mais je suis presque sûr que cela signifie
- Pas un annuaire
- Le propriétaire a des autorisations de lecture / écriture (c'est moi, selon
ls -l
) - Le groupe dispose d'autorisations de lecture / écriture
- Tout le monde n'a que des autorisations de lecture
J'ai également cherché partout où je savais comment utiliser le sqlite3
programme et je n'ai rien trouvé de pertinent.
Parce que je ne savais pas avec quelles autorisations PDO essaie d'ouvrir la base de données, j'ai fait
chmod o+w supplies.db
Maintenant, j'en ai un autre PDOException
:
SQLSTATE[HY000]: General error: 14 unable to open database file
Mais cela se produit UNIQUEMENT lorsque j'essaye d'exécuter une INSERT
requête après l' ouverture de la base de données.
Des idées sur ce qui se passe?
sudo chgrp www-data test.db
avec l'ajout d'autorisations a fonctionné pour moi