3 回答

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
這個問題,因為它的出現(xiàn),就是PDO SQLite的驅(qū)動程序要求,如果你打算做一個寫操作(INSERT,UPDATE,DELETE,DROP,等),然后將文件夾的數(shù)據(jù)庫駐留在必須有寫權(quán)限,以及實際數(shù)據(jù)庫文件。
我在PDO SQLite驅(qū)動程序手冊頁最底部的注釋中找到了此信息。

TA貢獻(xiàn)1794條經(jīng)驗 獲得超7個贊
當(dāng)SQLite文件本身的所有者與運行腳本的用戶不同時,可能會發(fā)生這種情況。如果無法寫入整個目錄路徑(即沿途的每個目錄),則可能會發(fā)生類似的錯誤。
誰擁有SQLite文件?您?
腳本以誰身份運行?Apache還是沒人?

TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊
對我而言,問題在于SELinux的實施而非許可。一旦我禁用了強(qiáng)制執(zhí)行功能, “只讀數(shù)據(jù)庫”錯誤就消失了,這是史蒂夫五世在對已接受答案的評論中提出的建議。
echo 0 >/selinux/enforce
運行此命令后,一切都會按預(yù)期進(jìn)行(CentOS 6.3)。
我遇到的特定問題是在Graphite的安裝過程中。我已對apache用戶擁有的內(nèi)容進(jìn)行了三重檢查,并且可以同時寫入我的graphing.db及其父目錄。但是直到我“修復(fù)” SELinux之前,我得到的只是堆棧跟蹤,以達(dá)到以下效果:DatabaseError:嘗試編寫一個只讀數(shù)據(jù)庫
- 3 回答
- 0 關(guān)注
- 1272 瀏覽
添加回答
舉報