sqlite的一個Unable to Open database file的坑爹錯誤


       今天,被sqlite的一個機制給坑了。本人用C語言寫的cgi程序去訪問sqlite數據庫,讀取沒有問題,但是插入新紀錄和更新數據就不行,在服務器上直接對數據庫進行增刪查改則沒有任何問題。但瀏覽器上訪問並且對數據庫有寫的操作時,則報錯誤:

        unable to open database file

       本人在網上查找了很久,沒有找到直接相關的答案。偶在一個百度問答上看到sqlite庫在對數據庫進行操作時(本人估計是寫操作),會在數據庫的當前文件夾下創建一個臨時文件,當操作結束時,該臨時文件將被刪除。 而遠程用戶一般不具備有對臨時文件足夠的權限 所以會造成 無法打開、寫或者刪除臨時文件。解決的方法就是遞歸地(加-R)將數據庫所在文件夾設置為任何用戶都有可讀可寫可刪的權限。假如sqlite數據庫路徑為/opt/lampp/cgi-bin/, 則:

       chmod -R 777 /opt/lampp/cgi-bin/



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM