sqlite3与php

1.SQLite只支持库级锁,同一时间只允许一个写操作,php默认是没有超时等待的。

int sqlite3_busy_timeout(sqlite3*, int ms);---->php调用:$db->busyTimeout($ms);

不注册此函数时默认超时等待为0,当ms<=0时,清除busy handle,申请不到锁直接返回;
定义一个毫秒数,当未到达该毫秒数时,sqlite会sleep并重试当前操作,
如果超过ms毫秒,仍然申请不到需要的锁,当前操作返回SQLITE_BUSY;
很多人用这个函数没有成功,其实只要你仔细查看sqlite的源码就会发现,
这个函数实际上注册了一个默认的sqlite3_busy_handler(sqliteDefaultBusyCallback),而这个回调函数在你的编译
环境下可能使得第二个ms参数必需要大于1000( 只能是1000的整数倍)且是他的整数倍才有意义,由于此默认callback函数延时较大,建议自己写回

调函数然后用slite3_busy_handler注册,这样就可以自己用自己的延时函数或方法进行处理了.

2.SQlite 事务特性(定义了SQL 命令的边界):原子性,一致性、隔离性、持久性。

三个事务命令:BEGIN、COMMIT、ROLLBACK

五个不同状态的锁:unlocked 、shared 、reserved、 pending、 exclusive

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在PHP中扩展SQLite3,你可以按照以下步骤进行操作: 1. 检查PHP版本:确保你的PHP版本符合SQLite3扩展的要求。SQLite3扩展需要PHP 5.3.0或更高版本。 2. 安装SQLite3库:首先,你需要确保系统上已经安装了SQLite3库。你可以通过包管理工具(如apt、yum、brew等)来安装。例如,在Ubuntu上,你可以使用以下命令安装SQLite3库: ``` sudo apt-get install sqlite3 libsqlite3-dev ``` 3. 安装SQLite3扩展:有几种方法可以安装SQLite3扩展: - 编译安装:如果你有编译PHP的经验,可以下载源代码并编译安装PHP,并在编译配置中启用SQLite3扩展。 - 使用PECL:PECL(PHP扩展社区库)是一个PHP扩展的存储库。你可以使用以下命令安装SQLite3扩展: ``` pecl install sqlite3 ``` - 手动安装:如果上述方法不适用,你可以手动下载SQLite3扩展的源代码,并按照其中的说明进行编译和安装。你可以在PECL官方网站(https://pecl.php.net/package/sqlite3)或GitHub存储库(https://github.com/php/pecl-database-sqlite)上找到SQLite3扩展的源代码。 4. 启用SQLite3扩展:编辑你的php.ini文件,找到以下行,并取消注释(去掉前面的分号): ``` ;extension=sqlite3 ``` 如果没有找到该行,请添加上述行。 5. 重启Web服务器:保存php.ini文件,并重新启动你的Web服务器,以使配置更改生效。 安装完成后,你就可以在PHP中使用SQLite3扩展来连接和操作SQLite3数据库了。你可以查阅SQLite3扩展的文档,了解其提供的函数和用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值