我在这里运行的是 CentOS 5.5,带有 Apache2、PHP5.3.3 和 MySQL 5(Ver 14.12 Distrib 5.0.77,适用于 redhat-linux-gnu (i686),使用 readline 5.1)。我在同一个系统上安装的 wordpress 运行正常,但 drupal7 安装脚本仅检测到 SQLite。mysql 模块在 php.ini 中已启用,因此这不是问题。您认为这可能是 Drupal 7 或我的 PHP 安装的问题吗?我在本地主机上对其进行了测试(我基本上是在使用 Apache 运行 ArchLinux),安装正常。我没有看到本地 php.ini 和服务器 php.ini 之间的区别。我在服务器上访问 install.php 时收到此信息。
SQLite
The type of database your Drupal data will be stored in. Your PHP configuration only supports a single database type, so it has been automatically selected.
编辑:mysql PDO 模块已安装。
最终修改:问题是 PHP 实际上没有加载模块。它查看的是 /usr/local/lib/php.ini 中的文件,而不是 /etc/php.ini。实施此处的建议后,我更改了 php.ini 文件配置,重新启动了 apache,一切正常。感谢所有回复的人。
答案1
首先参看最后的编辑!
MySQL 模块已启用-但是是否已安装:
su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm
yum --enablerepo=remi install php-pdo
另外,确保安装了所有需要的模块:
yum --enablerepo=remi install php-mysql
这也可能更新其他 php 依赖项。
编辑:
我刚刚在 64 位 Centos 服务器上执行此操作并收到一些依赖性错误消息,然后 mysql 由于此错误而无法启动:
Error message file '/usr/share/mysql/english/errmsg.sys' had only 480 error messages,
but it should contain at least 641 error messages.
经过一番挖掘,结果发现这是因为我最终安装了 64 位和 32 位版本的 mysql。我最终通过执行以下操作解决了这个问题:
yum remove mysql-server*
yum remove mysql-*
yum install --enablerepo=remi mysql.x86_64 mysql-server.x86_64 php-mysql php-pdo
如果您先使用 yum remove mysql 和 mysql-server,则可能不需要做这些额外的工作。
由于额外的麻烦,我不得不补充一句:“按照我的步骤操作,风险自负”!!!
答案2
据我所知,Drupal 需要 pdo_mysql 模块而不是直接的 mysql 模块。