使用配置文件管理数据库凭据是一种常见的做法,它有助于保护敏感信息并使代码更易于维护。
以下是如何在 PHP 中使用配置文件来存储和使用数据库凭据的步骤。

第一步:创建配置文件

首先,创建一个包含数据库连接信息的配置文件,通常命名为 config.php.env(如果使用环境变量)。这里以 config.php 为例:

<?php
// config.php
return [
    'db_host' => 'localhost',
    'db_name' => 'your_dbname',
    'db_user' => 'your_username',
    'db_pass' => 'your_password',
];
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
第二步:在应用中引用配置文件

然后,在需要连接数据库的 PHP 脚本中,包含这个配置文件,并使用里面的配置信息来建立数据库连接。

使用 MySQLi 示例:
<?php
// 引入配置文件
$config = require_once 'config.php';

// 使用配置文件中的信息建立连接
$conn = new mysqli($config['db_host'], $config['db_user'], $config['db_pass'], $config['db_name']);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 进行数据库操作...

// 记得关闭连接
$conn->close();
?>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
使用 PDO 示例:
<?php
// 引入配置文件
$config = require_once 'config.php';

try {
    $pdo = new PDO("mysql:host={$config['db_host']};dbname={$config['db_name']}", $config['db_user'], $config['db_pass']);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 进行数据库操作...

} catch(PDOException $e) {
    echo "数据库连接失败: " . $e->getMessage();
}
?>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
注意事项:
  • 安全性:尽管上述方法比直接在代码中硬编码数据库凭据要好,但最佳实践是使用环境变量或加密的密钥管理系统来进一步保护敏感数据。在生产环境中,考虑使用像 Docker Secrets、AWS Secrets Manager 或 Vault 这样的工具来管理机密信息。
  • 权限:确保配置文件(尤其是包含敏感信息的文件)受到适当的权限保护,避免被未经授权的用户访问。
  • .env 文件:在一些现代框架和应用中,常用 .env 文件来存储环境变量,然后使用像 dotenv 库来加载这些变量。这同样适用于数据库凭据的管理。