<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/156</link>
<title><![CDATA[codeigniter使用sqlite数据库]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[默认分类]]></category>
<pubDate>Fri, 24 Sep 2010 08:35:17 +0000</pubDate> 
<guid>http://www.snooda.com/read/156</guid> 
<description>
<![CDATA[ 
	    今天做邮件转发程序的web页面，要读取配置数据库，由于配置数据库使用的是sqlite，所以要用php读取sqlite。<br />
<br />
    php使用sqlite有两种方式，一种是pdo驱动，一种是用php_sqlite模块。<br />
<br />
    首先试了试php_sqlite模块，结果发现centos没有这个模块，下了一个试着编译了一下，乱七八糟，这个方法太不普适。放弃。<br />
<br />
    然后使用pdo方法。用$test=new PDO(&#039;sqlite:test.db&#039;)，获得pdo连接后，可以使用了。<br />
<br />
    然后要在codeigniter里使用sqlite数据库，所以查了下文档，原来codeigniter 1.7.*集成的sqlite模块不支持sqlite3，而为了对php4的兼容性，没有包含pdo模块。还好官网有pdo驱动，按说明下载、配置好后发现报“SQLSTATE[HY000] [14] unable to open database file”这个错误。折腾了一下午。发现直接用：php test.php可以打开数据库，但是用web服务器就不行。看来要么是权限问题，要么是配置文件的不同。用两种方式打印了phpinfo，发现没有什么问题。疑惑了好长时间。。<br />
<br />
    突然想起来，数据库所在的目录树中有一层是没有给web服务器访问权限的。。怪不得，把权限放开，正常了。
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/156#blogcomment71</link>
<title><![CDATA[[评论] codeigniter使用sqlite数据库]]></title> 
<author>Anoymous &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 14 Nov 2010 05:35:37 +0000</pubDate> 
<guid>http://www.snooda.com/read/156#blogcomment71</guid> 
<description>
<![CDATA[ 
	注：sqlite不但需要对数据库文件有写权限，对存放该文件的目录也要有写权限才能写入成功
]]>
</description>
</item>
</channel>
</rss>