【详解】CentOSlinux下为已经编译好的php环境添加mysqli扩展

举报
皮牙子抓饭 发表于 2025/03/08 09:48:40 2025/03/08
【摘要】 CentOS Linux 下为已编译好的 PHP 环境添加 mysqli 扩展在使用 PHP 进行数据库操作时,​​mysqli​​ 扩展是一个非常重要的组件,它提供了对 MySQL 数据库的完整支持。如果你已经在 CentOS 系统上安装并配置了 PHP,但没有安装 ​​mysqli​​ 扩展,可以通过以下步骤来添加这个扩展。前提条件已经安装了 PHP 和 MySQL。具有 root 权限...

CentOS Linux 下为已编译好的 PHP 环境添加 mysqli 扩展

在使用 PHP 进行数据库操作时,​​mysqli​​ 扩展是一个非常重要的组件,它提供了对 MySQL 数据库的完整支持。如果你已经在 CentOS 系统上安装并配置了 PHP,但没有安装 ​​mysqli​​ 扩展,可以通过以下步骤来添加这个扩展。

前提条件

  • 已经安装了 PHP 和 MySQL。
  • 具有 root 权限或能够执行 sudo 命令。
  • 确保系统中已经安装了 MySQL 开发库。

安装 MySQL 开发库

首先,确保你的系统中已经安装了 MySQL 的开发库,因为编译 ​​mysqli​​ 扩展需要这些库文件。如果没有安装,可以使用以下命令进行安装:

sudo yum install mysql-devel

安装 PHP 开发工具

为了能够编译 PHP 扩展,你需要安装 PHP 的开发工具包,这通常包括了 PHP 的源代码和一些必要的编译工具。你可以通过以下命令安装:

sudo yum install php-devel

编译安装 mysqli 扩展

  1. 下载 PHP 源码:确保你下载的是与当前 PHP 版本相同的源码。可以通过 php -v 查看当前 PHP 的版本号。
wget https://www.php.net/distributions/php-7.4.15.tar.gz
tar -zxvf php-7.4.15.tar.gz
cd php-7.4.15/ext/mysqli
  1. 准备编译环境:使用 PHP 的 phpize 工具来准备编译环境。
/path/to/php/bin/phpize

注意:这里的 ​​/path/to/php/bin/phpize​​ 需要替换为你实际的 PHP 安装路径下的 ​​phpize​​ 路径。你可以通过 ​​which phpize​​ 来查找 ​​phpize​​ 的位置。

  1. 配置编译选项:配置编译选项以指定 PHP 的配置文件路径和其他必要的参数。
./configure --with-php-config=/path/to/php/bin/php-config
  1. 编译并安装
make && sudo make install

成功编译后,​​mysqli​​ 扩展会被安装到 PHP 的扩展目录中。

启用 mysqli 扩展

  1. 编辑 php.ini 文件:找到你的 ​​php.ini​​​ 文件,并添加以下行来启用 ​​mysqli​​ 扩展。
extension=mysqli.so
  1. 重启 Web 服务器:使更改生效,需要重启你的 Web 服务器(如 Apache 或 Nginx)。
sudo systemctl restart httpd  # 对于 Apache
sudo systemctl restart nginx  # 对于 Nginx

验证安装

最后,验证 ​​mysqli​​​ 扩展是否正确安装并启用。你可以创建一个 PHP 文件,例如 ​​info.php​​,内容如下:

<?php
phpinfo();
?>

将此文件放置在 Web 服务器的根目录下,然后通过浏览器访问 ​​http://your-server-address/info.php​​​。在显示的 PHP 信息页面中,查找 ​​mysqli​​​ 部分,如果能看到相关信息,则表示 ​​mysqli​​ 扩展已经成功安装并启用。

这对于需要使用 MySQL 数据库的应用程序来说是非常有用的。希望这篇文章能帮助你在 PHP 开发过程中更加顺利地处理数据库相关的问题。在 CentOS Linux 下为已编译好的 PHP 环境添加 ​​mysqli​​​ 扩展,可以通过以下步骤完成。这里假设你已经安装了 PHP,并且需要添加 ​​mysqli​​ 扩展。

步骤 1: 安装依赖库

首先,确保你的系统上安装了必要的开发工具和库文件。你可以使用 ​​yum​​ 包管理器来安装这些依赖:

sudo yum install -y php-devel php-pear mysql-devel

步骤 2: 使用 PECL 安装 mysqli 扩展

​mysqli​​​ 扩展可以通过 PECL(PHP Extension Community Library)来安装。PECL 是一个 PHP 扩展的仓库,类似于 ​​pear​​。

sudo pecl install mysqli

步骤 3: 配置 PHP 加载 mysqli 扩展

安装完成后,你需要编辑 PHP 的配置文件 ​​php.ini​​​,以确保 PHP 能够加载 ​​mysqli​​​ 扩展。通常,​​php.ini​​​ 文件位于 ​​/etc/php.ini​​​ 或 ​​/etc/php.d/​​ 目录下。

找到或创建一个 ​​.ini​​​ 文件,例如 ​​/etc/php.d/mysqli.ini​​,并添加以下内容:

extension=mysqli.so

步骤 4: 重启 Web 服务器

为了使更改生效,你需要重启你的 Web 服务器。如果你使用的是 Apache,可以使用以下命令:

sudo systemctl restart httpd

如果你使用的是 Nginx 和 PHP-FPM,可以使用以下命令:

sudo systemctl restart php-fpm
sudo systemctl restart nginx

步骤 5: 验证安装

你可以通过创建一个 PHP 信息页面来验证 ​​mysqli​​​ 扩展是否已成功安装。创建一个名为 ​​info.php​​​ 的文件,并将其放在 Web 服务器的根目录中(例如 ​​/var/www/html/​​):

<?php
phpinfo();
?>

然后在浏览器中访问该文件,例如 ​​http://your-server-ip/info.php​​​,查找 ​​mysqli​​ 相关的信息,确认扩展已正确加载。

示例代码:使用 mysqli 连接 MySQL 数据库

以下是一个简单的 PHP 脚本示例,展示如何使用 ​​mysqli​​ 扩展连接到 MySQL 数据库并执行查询:

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";

// 执行查询
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
$conn->close();
?>

将上述代码保存为 ​​test_mysqli.php​​​ 并放置在 Web 服务器的根目录中,然后在浏览器中访问该文件,例如 ​​http://your-server-ip/test_mysqli.php​​,查看输出结果。

通过以上步骤,你应该能够在 CentOS Linux 下成功为已编译好的 PHP 环境添加 ​​mysqli​​​ 扩展,并使用它连接到 MySQL 数据库。在 CentOS Linux 下为已编译好的 PHP 环境添加 ​​mysqli​​​ 扩展,通常需要重新编译 PHP 以包含该扩展。不过,如果 PHP 是通过包管理器(如 ​​yum​​​)安装的,可以直接安装 ​​mysqli​​​ 扩展而不需要重新编译 PHP。以下是如何在两种情况下添加 ​​mysqli​​ 扩展的步骤:

1. 使用包管理器安装 ​​mysqli​​ 扩展

如果你的 PHP 是通过 ​​yum​​​ 或其他包管理器安装的,可以通过以下命令直接安装 ​​mysqli​​ 扩展:

sudo yum install php-mysqli

安装完成后,重启你的 Web 服务器(如 Apache 或 Nginx),使新的扩展生效:

sudo systemctl restart httpd  # 如果你使用的是 Apache
# 或者
sudo systemctl restart nginx  # 如果你使用的是 Nginx

2. 为已编译的 PHP 添加 ​​mysqli​​ 扩展

如果你的 PHP 是手动编译的,你需要重新编译 PHP 以包含 ​​mysqli​​ 扩展。以下是详细的步骤:

步骤 1:安装 MySQL 开发库

首先,确保你已经安装了 MySQL 的开发库,因为 ​​mysqli​​ 扩展依赖于这些库。

sudo yum install mysql-devel
步骤 2:下载并解压 PHP 源码

如果你已经有了 PHP 的源码,可以跳过这一步。如果没有,可以从 PHP 官方网站下载源码包,并解压:

wget https://www.php.net/distributions/php-7.4.15.tar.gz  # 替换为你当前使用的 PHP 版本
tar -zxvf php-7.4.15.tar.gz
cd php-7.4.15
步骤 3:配置并编译 ​​mysqli​​ 扩展

进入 PHP 源码目录后,使用 ​​phpize​​​ 工具来准备编译环境。​​phpize​​​ 通常位于 PHP 的 ​​bin​​​ 目录下,你可以通过 ​​which phpize​​ 查找其位置。

cd ext/mysqli
/usr/local/php/bin/phpize  # 替换为你的 phpize 路径
./configure --with-php-config=/usr/local/php/bin/php-config  # 替换为你的 php-config 路径
make
sudo make install
步骤 4:启用 ​​mysqli​​ 扩展

编辑 PHP 配置文件 ​​php.ini​​​,添加以下行以启用 ​​mysqli​​ 扩展:

extension=mysqli.so

找到 ​​php.ini​​​ 文件的位置,通常在 ​​/etc/php.ini​​​ 或 ​​/usr/local/lib/php.ini​​。你可以使用以下命令查找:

php --ini
步骤 5:重启 Web 服务器

最后,重启你的 Web 服务器以应用更改:

sudo systemctl restart httpd  # 如果你使用的是 Apache
# 或者
sudo systemctl restart nginx  # 如果你使用的是 Nginx

验证 ​​mysqli​​ 扩展是否已安装

你可以通过创建一个 PHP 文件来验证 ​​mysqli​​​ 扩展是否已成功安装。创建一个名为 ​​info.php​​ 的文件,内容如下:

<?php
phpinfo();
?>

将该文件放在你的 Web 服务器的根目录下,然后在浏览器中访问 ​​http://your-server-ip/info.php​​​。在输出的信息中查找 ​​mysqli​​​,如果看到相关信息,说明 ​​mysqli​​ 扩展已成功安装。

希望这些步骤能帮助你在 CentOS Linux 下为已编译好的 PHP 环境添加 ​​mysqli​​ 扩展。如果有任何问题,请随时提问!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。