在配置PHP5时要使用MysqL作为数据库,很多人都认为只要在PHP.ini中添加extension=PHP_MysqL.dll;指令即可,不清楚为什么很多文章都推荐还要添加extension=PHP_MysqLi.dll;指令。 只要查看官方最新PHP手册便知,上面写到: 下面是内置的扩展库列表: PHP5中(截止到5.0.4)有以下修改。新增内置:DOM,LibXML,Iconv,SimpleXML,SPL和sqlite。以下不再内置:MysqL和Overload。 原来PHP5没有内置这些扩展库(当然也可以得出在使用PHP4时,不需要添加这些指令),至于为什么PHP5没有不再绑定MysqL的客户端库,手册中也有说明: 部分原因是(无特定顺序): 。现今大多数系统已经安装了客户端库了。 。由于以上原因,保持多个版本的库文件会导致混乱。例如,如果把modauthMysqL连接到某个版本,但把PHP连接到了另一个版本,然后在Apache中同时激活了它们,会得到无数错误。此外,绑定的库文件也不总是能和服务器端的版本很好地配合。对此最明显的症状是上哪里去找UNIX域套接字文件MysqL.socket。 。维护有些松懈,并且已经越来越落后于发行的版本了。 。未来的库版本是基于GPL的,因此我们没有升级的途径了,因为我们不能将基于GPL的库和BSD/Apache风格许可证的项目绑定到一起。因此具有一个干净的PHP5是最好的选择。 配置时为PHP激活两个扩展库的原因是因为: 。为了能使用基本函数操作访问MysqL数据库服务器,必须在配置PHP时添加MysqL的支持,即使用PHP_MysqL.dll扩展库。 。虽然PHP_MysqL.dll扩展库兼容MysqL4.1.0机器以后版本,但是它不支持这些版本提供的额外功能,要使用这些功能,还需要使用PHP_MysqLi.dll扩展库。 PHP4中(截止到PHP4.3.11):BCMath,Caledar,COM,Ctype,FTP,MysqL,ODBC,Overload,PCRE,Session,Tokenizer,WDDX,XML和Zlib。