带有 mysqlnd 和 apache 的 RHEL PHP 7.3.5

带有 mysqlnd 和 apache 的 RHEL PHP 7.3.5

首先要声明的是,我并不是一名专业的服务器管理员,因此我一直在努力完成这项任务。

PHP 7.3.5 已安装在运行 Apache 的 RHEL7 上。我已经成功安装了 MySQL,现在我的任务是从 PHP 连接到 MySQL DB。我之前在 Bluehost 等托管服务上做过这件事,但它们让这件事变得简单。

我尝试安装/启用 mysqlnd/mysqli 模块,但毫无效果。phpinfo() 仍然没有显示它已启用。我尝试安装软件包,当我找到时,我看到的是:

在此处输入图片描述

如何启用此模块以使其在 PHP 中处于活动状态?

使用以下答案之一的命令进行更新:

在此处输入图片描述

答案1

您是否检查过 yum 是否已全部安装?您确定它是 MySQL 而不是看起来像 MySQL 的 MariaDB 吗?

您可以检查

yum list installed | grep 'sql\|mariadb'

您还可以使用以下命令直接向 PHP 请求模块

php -m | grep sql

然后使用

yum install mysql mysql-devel mysql-server php-mysqlnd

或者

yum install mariadb mariadb-devel mariadb-server php-mysqlnd

这足以让 PHP 连接到数据库,尽管您可能需要根据您的项目添加一些额外的包。

哦,还有一个愚蠢的问题,你检查过 SQL 是否正在运行吗?

systemctl status mysqld
systemctl status mariadb

答案2

home 下的 php 目录似乎肯定表明 PHP 是通过某种方式手动安装的。使用 来查看系统显示通过包管理器安装的内容sudo yum list installed | grep -i php

在 Redhat 上,我相信 5.4/5.6 是操作系统附带的默认版本,其他版本(包括 7)可通过 Redhat 软件集合获得。

您可以安装多个版本的 PHP,并且看起来这里发生的情况是安装了多个版本,并且 mysqlnd/mysqli 无法用于 Apache 正在使用的版本。

相关内容