Zend db 适配器 mysqli 或 PDO_MYSQL
Posted
技术标签:
【中文标题】Zend db 适配器 mysqli 或 PDO_MYSQL【英文标题】:Zend db adapter mysqli or PDO_MYSQL 【发布时间】:2011-04-20 03:13:21 【问题描述】:我在 application.ini 中看到了几个执行此操作的代码示例
resources.db.adapter = mysqli
or
resources.db.adapter = PDO_MYSQL
两者之间的真正区别是什么?它会影响我的代码吗?我什么时候应该选择其中之一?
【问题讨论】:
【参考方案1】:我通过 1.0 版本为 Zend Framework 开发了很多 Zend_Db 组件。适配器的目标是相同的,或者尽可能接近 php 扩展所支持的功能。
可以针对两个 MySQL 适配器运行相同的单元测试集,几乎没有区别。在性能方面,没有可衡量的差异。
您会选择其中一个的原因,以及我们完全支持 Mysqli 而不仅仅是 PDO_MySQL 的唯一原因是您需要部署到没有启用 PDO 扩展的 PHP 环境,并且您无权修改环境。例如,商品托管环境。
【讨论】:
这是您回答的有关性能的线程,***.com/questions/171400/…【参考方案2】:当您使用 CPANEL 在 Web 服务器(共享主机)上部署应用程序时,
-
使用
phpinfo();
检查是否启用了 PDO。如果启用,那么您可以使用resources.db.adapter = PDO_MYSQL
如果未启用 PDO,您必须使用替代方案 resources.db.adapter = mysqli
。
【讨论】:
以上是关于Zend db 适配器 mysqli 或 PDO_MYSQL的主要内容,如果未能解决你的问题,请参考以下文章
pdo 相对于 mysql_* 或 mysqli_* 的优势 [重复]
如何使用 Zend_Db 获取 Sqlite 数据库的最后插入 ID