关于在php.ini中添加extension=php_mysqli.dll指令的说明

yipeiwu_com6年前Mysql基础
在配置php5时要使用mysql作为数据库,很多人都认为只要在php.ini中添加extension=php_mysql.dll;指令即可,不清楚为什么很多文章都推荐还要添加extension=php_mysqli.dll;指令。

只要查看官方最新php手册便知,上面写到:

下面是内置的扩展库列表:

 PHP 5 中(截止到 5.0.4)有以下修改。新增内置:DOM,LibXML,Iconv,SimpleXML,SPL 和SQLite。以下不再内置:MySQL 和 Overload。

原来php5没有内置这些扩展库(当然也可以得出在使用php4时,不需要添加这些指令),至于为什么php5没有不再绑定mysql的客户端库,手册中也有说明:

部分原因是(无特定顺序): 

。现今大多数系统已经安装了客户端库了。 

。由于以上原因,保持多个版本的库文件会导致混乱。例如,如果把 mod_auth_mysql 连接到某个版本,但把 PHP 连接到了另一个版本,然后在 Apache 中同时激活了它们,会得到无数错误。此外,绑定的库文件也不总是能和服务器端的版本很好地配合。对此最明显的症状是上哪里去找 UNIX 域套接字文件 mysql.socket。 

。维护有些松懈,并且已经越来越落后于发行的版本了。 

。未来的库版本是基于 GPL 的,因此我们没有升级的途径了,因为我们不能将基于 GPL 的库和 BSD/Apache 风格许可证的项目绑定到一起。因此具有一个干净的 PHP 5 是最好的选择。

配置时为php激活两个扩展库的原因是因为:

  。为了能使用基本函数操作访问mysql数据库服务器,必须在配置php时添加mysql的支持,即使用php_mysql.dll扩展库。

  。虽然php_mysql.dll扩展库兼容mysql 4.1.0机器以后版本,但是它不支持这些版本提供的额外功能,要使用这些功能,还需要使用php_mysqli.dll扩展库。

  PHP 4 中(截止到 PHP 4.3.11):BCMath,Caledar,COM,Ctype,FTP,MySQL,ODBC,Overload,PCRE,Session,Tokenizer,WDDX,XML 和 Zlib。

相关文章

php读取mysql中文数据出现乱码的解决方法

1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了解决方法:选择'UTF8'或者'gb2312',这样客户浏览器会自动选择并出现正确的中文显...

Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置

先从各官方网站下了APACHE2.050、PHP5、MYSQL4.0.20、PHPMYADMIN2.57  apache_2.0.50-win32-x86-no_ssl.msi...

PHP获取MySql新增记录ID值的3种方法

一、使用语句:   复制代码 代码如下:mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个...

PHP获取php,mysql,apche的版本信息示例代码

直接获取PHP的版本 复制代码 代码如下: <?php echo "PHP软件版本:".phpversion(); ?> 直接获取MYSQL版本 复制代码 代码如下: &l...

php将图片保存入mysql数据库失败的解决方法

本文实例分析了php将图片保存入mysql数据库失败的解决方法。分享给大家供大家参考。具体分析如下: 图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存...