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