MySQL:如何启用 mysqlnd 用于 PHP?
当我们在 PHP 中使用 MySQL 数据库时,我们需要使用驱动程序来与 MySQL 进行交互。mysqlnd 是可选驱动程序之一,它允许我们使用一些更为高级的功能,例如 MySQL 预处理语句(prepared statement)和或者多语句查询。
下面我们将介绍在 Linux 上如何启用 mysqlnd 用于 PHP:
阅读更多:MySQL 教程
步骤一:安装 PHP-mysqlnd 扩展
使用以下命令安装 PHP-mysqlnd 扩展:
sudo apt-get install php-mysqlnd
步骤二:禁用 PHP-mysql 扩展
如果您正在使用 PHP-mysql 扩展,则需要禁用它。可以通过以下步骤完成:
- 打开 php.ini 文件
sudo vim /etc/php/7.2/apache2/php.ini
- 注释掉以下行
#;extension=mysql.so
步骤三:重启 Apache 服务器
在更改了 php.ini 文件之后,需要重启 Apache 服务器才能生效。使用以下命令重启 Apache:
sudo service apache2 restart
示例
下面我们来看一个示例程序使用了 mysqlnd 驱动程序:
<?php
// PDO 预处理语句
pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');stmt = pdo->prepare('SELECT * FROM users WHERE name = ?');stmt->execute(['John']);
user =stmt->fetch(PDO::FETCH_ASSOC);
// 执行一些 MySQL 命令
mysqli = new mysqli('localhost', 'username', 'password', 'test');mysqli->query('INSERT INTO users (name, email) VALUES ("John", "john@example.com")');
$mysqli->commit();
?>
在上面的示例程序中,我们使用了 PDO 预处理语句和 mysqli 执行原始 MySQL 命令。这些功能只有在启用 mysqlnd 的情况下才能使用。
总结
mysqlnd 是 MySQL 数据库的一个可选驱动程序,它允许我们使用一些更为高级的功能,例如 MySQL 预处理语句和或者多语句查询。要启用 mysqlnd 用于 PHP,需要安装 PHP-mysqlnd 扩展,并禁用 PHP-mysql 扩展。最后,记得重启 Apache 服务器使更改生效。