2012年12月8日星期六

【转】php5.3与sqlite3使用

php5.3+sqlite3

 

    SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。

  

    SQLite Version 3的一些新特点:
  (1)SQLite的API全部重新设计,由第二版的15个函数增加到88个函数。这些函数包括支持UTF-8和UTF-16编码的功能函数。
  (2)改进并发性能。加锁子系统引进一种锁升级模型(lock escalationmodel),解决了第二版的写进程饿死的问题(该问题是任何一个DBMS必须面对的问题)。这种模型保证写进程按照先来先服务的算法得到排斥锁(Exclusive Lock)。
  (3)改进的B-树。对于表采用B+树,大大提高查询效率。
    (4)SQLite 3最重要的改变是它的存储模型。由第二版只支持文本模型,扩展到支持5种本地数据类型。
  总之,SQLite Version 3与SQLite Vertion 2有很大的不同,在灵活性,特点和性能方面有很大的改进。
    因此如果可以就一定要使用sqlite3,而现有的php5.2都是带的sqlite2,这个问题困扰了我很久,后来我看到php5.3自带的就是sqlite3,就试了一下,还算顺利的使php连到了sqlite3.
    首先下载php5.3,http://snaps.php.net/win32/,找到要下载的php5.3的包。(补充:我在后来的使用中发现该版本有问题,具体见我的php+sqlite故障一文,故http://php.net/downloads.php#v5.3.0。)
    最后还有一点需要注意,就是php_sqlite3的安装手册中提到的http://cn.php.net/manual/en/sqlite3.installation.php:Windows users must enable php_sqlite3.dll in order to use this extension. This DLL is included with Windows distributions of PHP as of PHP 5.3.0.,也就是要将php_sqlite3.dll拷贝到windows目录下。
   还有就是,如果你以前用的是php5.26等其他版本,更新后要将Apache的配置文件中关于php的配置更改一下,就是这两句:
   PHPIniDir "E:/server/php5.3/"
   LoadModule php5_module "E:/server/php5.3/php5apache2_2.dll"。
   这样,重新启动Apache,显示一下phpinfo的信息,就能看到support sqlite3.php就可以直接访问sqlite3的数据库了。

没有评论: