温馨提示×

debian php怎么连数据库

小樊
37
2026-10-05 02:32:00
栏目: 编程语言

在 Debian 上用 PHP 连接数据库,通常分 MySQL/MariaDB 和 PostgreSQL 两种常见情况。下面以最常用、最标准的做法说明。


一、安装 PHP 和数据库扩展

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 PHP(以 PHP 8.2 为例)

sudo apt install php php-cli -y

3. 安装数据库扩展

连接 MySQL / MariaDB

sudo apt install php-mysql -y

连接 PostgreSQL

sudo apt install php-pgsql -y

安装后重启 Web 服务(如 Apache/Nginx):

sudo systemctl restart apache2
# 或
sudo systemctl restart nginx

二、连接 MySQL / MariaDB 示例

方法 1:使用 MySQLi(面向过程)

<?php
$host = "localhost";
$user = "dbuser";
$pass = "dbpass";
$db   = "testdb";

$conn = mysqli_connect($host, $user, $pass, $db);

if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "MySQL 连接成功";
?>

方法 2:使用 PDO(推荐)

<?php
try {
    $pdo = new PDO(
        "mysql:host=localhost;dbname=testdb;charset=utf8mb4",
        "dbuser",
        "dbpass"
    );
    echo "PDO 连接成功";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

三、连接 PostgreSQL 示例(PDO)

<?php
try {
    $pdo = new PDO(
        "pgsql:host=localhost;dbname=testdb",
        "pguser",
        "pgpass"
    );
    echo "PostgreSQL 连接成功";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

四、常见问题排查

1. 扩展未启用

查看已加载扩展:

php -m | grep -E "mysqli|pdo_mysql|pgsql|pdo_pgsql"

2. 数据库未允许本地连接

  • MySQL:确认 bind-address = 127.0.0.1
  • 用户权限:
GRANT ALL ON testdb.* TO 'dbuser'@'localhost';
FLUSH PRIVILEGES;

3. 使用 Nginx + PHP-FPM

确保安装了:

sudo apt install php-fpm

五、推荐做法

✅ 使用 PDO
✅ 使用 try-catch
✅ 不要硬编码密码(可用环境变量或配置文件)


如果你告诉我:

  • 用的是 Apache 还是 Nginx
  • 数据库类型(MySQL / MariaDB / PostgreSQL)
  • PHP 版本

我可以给你更精确的配置示例。

0 踩