网站安全建设模板,100个最佳市场营销案例,seo网站技术培训,网站开发的软件环境有哪些有朋友下载了PHP5.3#xff0c;PHP5.4版本想加载mysql支持的时候发现没有libmysql.dll文件#xff0c;无法完成mysql配置#xff0c;其实PHP5.3版本开始#xff0c;使用mysqlnd库#xff0c;不再使用libmysql.dll用来访问MySQL数据库#xff0c;大大提升了PHP的数据库访问…有朋友下载了PHP5.3PHP5.4版本想加载mysql支持的时候发现没有libmysql.dll文件无法完成mysql配置其实PHP5.3版本开始使用mysqlnd库不再使用libmysql.dll用来访问MySQL数据库大大提升了PHP的数据库访问性能。且默认支持mysql无需像libmysql.dll要手动复制到windows/system32目录下。以前版本的PHP访问MySQL数据库是通过MySQL数据库的libmysql client库这个libmysql client是用C/C编写的虽然一直以来PHP通过libmysql访问数据库性能也一直很好但却无法利用PHP本身的很多特性。新的mysqlnd提供了和Zend引擎高度的集成性更加快速的执行速度更少的内存消耗利用了PHP的Stream API以及客户段缓存机制。由于mysqlnd是透过Zend引擎因此提供提供更多高级特性以及有效利用Zend进行加速libmysql是直接访问数据库的而mysqlnd是通过Zend访问数据库。以上内容摘自http://www.51itz.com/?p467是对PHP5.3没有libmysql.dll的很好说明这在PHP手册中也有详细说明。以下是由此带来的困扰尤其是对新手而言。1.在阅读一些过时的PHP教程时会提到libmysql.dll文件甚或提到要将该文件和php5ts.dll复制到Windows的system32目录下于是新手在此时却发现下载的PHP5.3包里没有libmysql.dll文件于是很困惑。实际上PHP是有意去除libmysql.dll文件的因为它提供了更好的替代方式就是内嵌的php模块“mysqlnd”也正是由于“mysqlnd”是内嵌的所以不需要多余的类似libmysql.dll的文件。同时这对于mysql、mysqli、PDO的使用也是没有影响的因为这只是对mysql底层交互的方式的更新php程序员不用管它原来的还是一样用。2.在Windows中配置php.ini的extension_dir选项时一定要确保它可用然后再去测试某个扩展是否有用。这是做事的顺序问题不是技术问题。本人多次因使用相对路径而非绝对路径而浪费了很多调试时间PHP手册中提到该选项可用相对路径或者绝对路径而本人发现在Windows下只能使用绝对路径这个请一定注意3.从mysql官网http://www.mysql.com/downloads/的“MySQL Connectors”一节可以看出mysql提供了针对C、Java、.Net、C、ODBC等通信接口而对C的接口就是libmysql.dll它可以用于PHP因为PHP是用C写的。由此也可以知道libmysql.dll是一个通用的C接口模块而不是只对PHP适用。相比PHP自己研发的mysqlnd模块则是PHP专有的是遵从它自己的发布协议的。