温馨提示×

debian php怎么连库

小樊
41
2026-10-11 00:38:35
栏目: 编程语言

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


一、Debian 安装 PHP 及数据库扩展

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

sudo apt update
sudo apt install php php-cli php-fpm

2. 安装数据库扩展

MySQL / MariaDB

sudo apt install php-mysql

PostgreSQL

sudo apt install php-pgsql

安装后重启 Web 服务:

# Apache
sudo systemctl restart apache2

# Nginx + php-fpm
sudo systemctl restart php8.2-fpm

二、PHP 连接 MySQL / MariaDB

方法 1:mysqli(过程化 / 面向对象)

<?php
$host = '127.0.0.1';
$user = 'dbuser';
$pass = 'dbpass';
$db   = 'testdb';

$conn = new mysqli($host, $user, $pass, $db);

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

方法 2:PDO(推荐 ✅)

<?php
$dsn = "mysql:host=127.0.0.1;dbname=testdb;charset=utf8mb4";
$user = 'dbuser';
$pass = 'dbpass';

try {
    $pdo = new PDO($dsn, $user, $pass);
    echo "PDO 连接成功";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

三、PHP 连接 PostgreSQL

<?php
$dsn = "pgsql:host=127.0.0.1;dbname=testdb";
$user = 'pguser';
$pass = 'pgpass';

try {
    $pdo = new PDO($dsn, $user, $pass);
    echo "PostgreSQL 连接成功";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

四、常见问题排查

1. 报错 Class "mysqli" not found

➡ 没装扩展

sudo apt install php-mysql

2. 连接被拒绝

  • 数据库没启动
sudo systemctl status mysql
  • 用户无远程/本地权限
  • 主机写成了 localhost(有时走 socket)

3. 查看已加载扩展

php -m | grep -E 'mysqli|pdo|pgsql'

五、推荐做法(生产建议)

✅ 用 PDO
✅ 用 环境变量 存密码
✅ 不要明文写密码在代码里


如果你说的是 SQLite / Redis / 其他数据库,或者你是 CLI / Web 环境不清楚,可以告诉我,我给你对应示例。

0 踩