3 回答

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

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

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