我有一个运行 PHP 5.3.3 的 RHEL 机器,它是使用 提供的二进制包安装的yum
。我已经安装了 php-pdo 包:
# yum info php-pdo
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating Red Hat repositories.
Installed Packages
Name : php-pdo
Arch : x86_64
Version : 5.3.3
Release : 3.el6_1.3
Size : 168 k
Repo : installed
From repo : rhel-x86_64-server-6
Summary : A database access abstraction module for PHP applications
URL : http://www.php.net/
License : PHP
Description : The php-pdo package contains a dynamic shared object that will add
: a database access abstraction layer to PHP. This module provides
: a common interface for accessing MySQL, PostgreSQL or other
: databases.
它似乎可以正确运行于 SQLite 数据库,但不能正常运行于 MySQL。/etc/php.d 中没有包含 pdo_mysql.so 的文件,/usr/lib64/php/modules 中也没有 pdo_mysql.so 的副本。
我确信我只需要驱动程序文件和 PHP 配置中的一行。Ayum search pdo mysql
没有找到任何有用的包,Google 让我失望了。如果我使用的是 Ubuntu 或 Debian,我就会apt-get install php5-mysql
完成它。
那么...在 Red Hat 的哪里我可以获取 pdo_mysql.so 的副本并正确安装它?
答案1
您可能想要安装该php-mysql
包:
Name : php-mysql
Arch : x86_64
Version : 5.3.6
Release : 1.w5
Size : 210 k
Repo : installed
Summary : A module for PHP applications that use MySQL databases.
URL : http://www.php.net/
License : PHP
Description: The php-mysql package contains a dynamic shared object that will add MySQL database support to PHP. MySQL is an
: object-relational database management system. PHP is an HTML-embeddable scripting language. If you need MySQL
: support for PHP applications, you will need to install this package and the php package.
答案2
为了在 2020 年为迷失的灵魂更新这个答案,使用全新安装并加载 PHP 7.2 的 RHEL 8,为了使 mysql 的 PDO 驱动程序显示在 phpinfo() 页面中,必须安装两个软件包:
yum -y install php-pdo php-mysqlnd
答案3
非常感谢 Karl。我在安装 pdo-mysql 时遇到了问题,尝试了很多方法,但后来你建议我安装下面的方法,问题就解决了。
yum 安装 php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch
我的系统是 Centos6.7,我使用的是 php5.6。另一个版本的 php 显示已安装 pdo-mysql。但是 phpinfo() 没有显示它。当我尝试 yum install pdo-mysql 时,它说包不可用。无论如何,上面的 zend 包帮我解决了这个问题。
多谢。
答案4
后
# yum install pdo-mysql
尝试
# yum install php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch