未捕获的 Zend_Db_Adapter_Exception:当前未安装 mysql 驱动程序

未捕获的 Zend_Db_Adapter_Exception:当前未安装 mysql 驱动程序

我有 RHEL 6.8,正在PHP 7.1.3从存储库安装remi-php71。我已经安装了 PHP,但还需要一些额外的模块,其中之一是php_mysql。存储库remi-php71提供了一个包:php-mysqlnd。但没有php_mysql阅读关于mysqlnd,我发现安装是正确的php_mysqlnd,而不是“php_mysql”(无论如何,它在 repo 中不可用)。

但尽管已经php_mysqlnd安装。我收到这些 apache 日志:“未捕获的 Zend_Db_Adapter_Exception:mysql 驱动程序当前未安装在 /usr/share/php/Zend/Db/Adapter/Pdo/Abstract.php:112.....”。

我已安装的 PHP 包列表:

  1. php-cli-7.1.3-1.el6.remi.x86_64
  2. php-进程-7.1.3-1.el6.remi.x86_64
  3. php-mcrypt-7.1.3-1.el6.remi.x86_64
  4. php-ZendFramework-Db-Adapter-Pdo-Mysql-1.12.20-1.el6.remi.noarch
  5. php-common-7.1.3-1.el6.remi.x86_64
  6. php-7.1.3-1.el6.remi.x86_64
  7. php-pdo-7.1.3-1.el6.remi.x86_64
  8. php-xml-7.1.3-1.el6.remi.x86_64
  9. php-bcmath-7.1.3-1.el6.remi.x86_64
  10. php-ZendFramework-1.12.20-1.el6.remi.noarch
  11. php-ZendFramework-Db-Adapter-Pdo-1.12.20-1.el6.remi.noarch
  12. php-json-7.1.3-1.el6.remi.x86_64
  13. php-opcache-7.1.3-1.el6.remi.x86_64
  14. php-pear-1.10.3-1.el6.remi.noarch
  15. php-mysqlnd-7.1.3-1.el6.remi.x86_64

你能指出正确的方向吗?我见过,就我而言,我发现它没什么用。

答案1

1/mysql扩展已弃用多年,并从 PHP 7 中删除

2/php-mysqlnd软件包提供了 3 个扩展

  • mysqli扩大
  • pdo_mysqlPDO 驱动程序
  • mysqlnd驱动程序(不是真正的扩展,由上面使用)

看来您仍在使用 ZF1,它太旧了,而且很可能与最新的 PHP 版本不兼容。对于新开发,您确实应该考虑使用 ZF 2 或 ZF 3。

从上面的错误信息中,你可能需要pdo_mysql, 所以php-mysqlnd就足够了。

您可以使用以下解决方法php-pecl-mysql它提供了旧的扩展(但这实际上是解决方法,此扩展仅适用于遗产应用程序,并且可能永远不会发布为“稳定版”)

相关内容