ฉันมีฐานข้อมูล SQLite ที่ฉันใช้สำหรับเว็บไซต์ ปัญหาคือเมื่อฉันพยายามINSERT INTO
ฉันจะได้รับไฟล์PDOException
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
ฉัน SSH เข้าสู่เซิร์ฟเวอร์และตรวจสอบสิทธิ์และฐานข้อมูลมีสิทธิ์
-rw-rw-r--
ฉันไม่ค่อยคุ้นเคยกับสิทธิ์ * nix แต่ฉันค่อนข้างมั่นใจว่านี่หมายถึง
- ไม่ใช่ไดเร็กทอรี
- เจ้าของมีสิทธิ์อ่าน / เขียน (นั่นคือฉันตาม
ls -l
) - กลุ่มมีสิทธิ์อ่าน / เขียน
- ทุกคนมีสิทธิ์อ่านเท่านั้น
ฉันยังดูทุกที่ที่ฉันรู้จักการใช้sqlite3
โปรแกรมและไม่พบว่าไม่มีอะไรเกี่ยวข้อง
เพราะฉันไม่รู้ว่า PDO กำลังพยายามเปิดฐานข้อมูลด้วยสิทธิ์อะไร
chmod o+w supplies.db
ตอนนี้ฉันได้รับอีกPDOException
:
SQLSTATE[HY000]: General error: 14 unable to open database file
แต่จะเกิดขึ้นเฉพาะเมื่อฉันพยายามเรียกใช้INSERT
แบบสอบถามหลังจากเปิดฐานข้อมูลเท่านั้น
มีความคิดเกี่ยวกับสิ่งที่เกิดขึ้นหรือไม่?
sudo chgrp www-data test.db
ด้วยการเพิ่มสิทธิ์ใช้งานได้สำหรับฉัน