Tengo una base de datos SQLite que estoy usando para un sitio web. El problema es que cuando intento INSERT INTO
, me conseguir un PDOException
SQLite: base de datos de solo lectura
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
I SSH'd en el servidor y permisos comprobados, y la base de datos tiene los permisos
-rw-rw-r--
No estoy familiarizado con los permisos en Unix, pero estoy bastante seguro de que esto significa
- No es un directorio
- propietario ha de lectura/escritura Permisos (que soy yo, de acuerdo con
ls -l
) - Grupo tiene permisos de lectura/escritura
- todos los demás permisos sólo ha leído
También busqué por todas partes yo sabía que el uso del programa sqlite3
, y no encontraron nada relevante.
Debido a que no sabía con qué permisos DOP está tratando de abrir la base de datos, lo hice
chmod o+w supplies.db
Ahora, consigo otro PDOException
:
SQLSTATE[HY000]: General error: 14 unable to open database file
Pero sólo se produce cuando intente ejecutar una consulta INSERT
después de la base de datos está abierta.
¿Alguna idea de lo que está pasando?
básicamente el httpd (Apache> PHP> DOP) no es usted, por lo que no es propietario del archivo, por lo que no tiene permisos de escritura ... interesante ... – SparK
'sudo chgrp www-data test.db' con la adición de permisos trabajados para mí – Zippp