codeigniter使用sqlite数据库

[| 2010/09/24 16:35]
| |
今天做邮件转发程序的web页面,要读取配置数据库,由于配置数据库使用的是sqlite,所以要用php读取sqlite。

php使用sqlite有两种方式,一种是pdo驱动,一种是用php_sqlite模块。

首先试了试php_sqlite模块,结果发现centos没有这个模块,下了一个试着编译了一下,乱七八糟,这个方法太不普适。放弃。

然后使用pdo方法。用$test=new PDO('sqlite:test.db'),获得pdo连接后,可以使用了。

然后要在codeigniter里使用sqlite数据库,所以查了下文档,原来codeigniter 1.7.*集成的sqlite模块不支持sqlite3,而为了对php4的兼容性,没有包含pdo模块。还好官网有pdo驱动,按说明下载、配置好后发现报“SQLSTATE[HY000] [14] unable to open database file”这个错误。折腾了一下午。发现直接用:php test.php可以打开数据库,但是用web服务器就不行。看来要么是权限问题,要么是配置文件的不同。用两种方式打印了phpinfo,发现没有什么问题。疑惑了好长时间。。

突然想起来,数据库所在的目录树中有一层是没有给web服务器访问权限的。。怪不得,把权限放开,正常了。
by snooda | 分类: 默认分类 | 评论(1) | 引用(0) | 阅读(2346)
Anoymous
2010/11/14 13:35
注:sqlite不但需要对数据库文件有写权限,对存放该文件的目录也要有写权限才能写入成功
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]