发布于 1970-01-01 08:00
  • 2 个回答
    • PHP从5.4开始默认采用mysqlnd实现mysql,mysqli,pdo_mysql.
      编译时,PHP5.3这样启用mysqlnd支持:

      --with-mysql=mysqlnd
      --with-mysqli=mysqlnd
      --with-pdo-mysql=mysqlnd
      

      PHP5.4后留空则默认启用mysqlnd:

      --with-mysql
      --with-mysqli
      --with-pdo-mysql
      

      PHP7开始不再支持--with-mysql.

      另外,如果你编译时没有添加 --with-mysql 配置项,自然也是不能使用mysql这个扩展的函数的.不过,PHP7开始将废弃mysql扩展,用户应该使用mysqli和pdo_mysql扩展.

      PHP5.4.x开始默认使用mysqlnd连接mysql,区别于以前的libmysql,PHP内建支持mysqlnd,而且采用PHP license授权,避免了任何可能存在的版权问题.
      http://www.php.net/manual/zh/mysql.installation.php
      mysqlnd并不像libmysql那样作为通用库,它是专门为PHP而写的一个库.libmysql是直接访问数据库的,而mysqlnd是通过Zend访问数据库,有着更好的性能,可以在phpinfo()中查看到mysqlnd信息.以前编译PHP时,必须先安装MySQL,然后用--with-mysql=DIR指定MySQL的位置,有了内置的mysqlnd本地驱动,就不需要这样了.

      除了解决版权问题外,mysqlnd比libmysql更快,更节省内存,而且提供了丰富的性能统计功能,也更方便PHP的编译.mysqlnd作为一个PHP扩展,跟PHP是紧耦合的,使用的是PHP的内存管理系统,所以内存占用要比libmysql少,效率也更高.可以用memory_get_usage()跟踪mysqlnd的内存使用,同时也受memory_limit的内存限制.
      http://php.net/manual/en/mysqlnd.overview.php

      2022-12-01 13:37 回答
    • PHP 从 5.5 开始废弃了原始的 MySQL 扩展,需使用 MySQLi 或 PDO_MySQL 扩展作为替代。

      2022-12-01 13:37 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有