【问题标题】:Does the mysql client package version on webserver affect PHP queries?webserver上的mysql客户端包版本会影响PHP查询吗?
【发布时间】:2016-01-31 01:10:40
【问题描述】:

我有两台 RHEL 服务器,一台用于托管 PHP 应用程序,一台用于托管 MySQL 服务器。

数据库服务器已安装 MySQL Enterprise 5.6.21 版。

在构建应用服务器时,我要求安装 rpm MySQL-client-advanced-5.6.21-1.el6.x86_64(以匹配服务器),但硬件人员不喜欢这个版本,因为 5.6.27 可用,它解决了一些漏洞。

问题如下:

应用服务器上的 mysql 客户端版本是否会影响来自 PHP 应用程序的数据库查询?

我们正在使用 PDO 连接和查询 MySQL。

如果我们这样做,应用服务器是否还需要一个 mysql 客户端库?

如果我能澄清一下,请告诉我。 谢谢!

【问题讨论】:

  • 查看 RPM 内部,看看里面是否有您需要的东西。我猜那是 mysql 的命令行客户端,如果您没有对服务器的 shell 访问权限,这将无用。
  • 服务器组件、pdo 库、它们的配置、配置文件和 phpinfo() 的输出怎么样
  • 如果你使用PHP连接MySQL服务器,你不需要MySQL-client...,那是CLI的mysql命令。对于 PHP,您应该安装 php-mysqlndphp-pdo(或任何名称的包)。
  • @RocketHazmat 谢谢!这正是我需要知道的。应用程序不应受 CLI 版本的影响。

标签: php mysql pdo rhel


【解决方案1】:

PHP 使用自己的库/驱动程序连接到 MySQL 数据库。 MySQL-client-advanced 包只是 CLI mysql 客户端。 PHP 不使用这个。

对于 PHP(和 PDO),您应该安装 php-pdophp-mysqlndphp-mysqlnd 是“MySQL 原生驱动程序”,包含一些增强功能。它还包含mysqli 类和pdo-mysql 连接器。

注意:php-mysqlnd 版本与 MySQL 服务器版本无关。

【讨论】:

    【解决方案2】:

    引用自Mysql网站

    MySQL Native Driver 是 MySQL 客户端库 (libmysqlclient) 的替代品。 MySQL Native Driver 是 PHP 5.3.0 的官方 PHP 源代码的一部分。

    https://dev.mysql.com/doc/apis-php/en/apis-php-mysqlnd.html

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      相关资源
      最近更新 更多