温馨提示×

Debian PHP怎样连数据库

小樊
40
2026-09-14 07:07:12
栏目: 编程语言

在 Debian 上用 PHP 连接数据库,通常分为 安装环境 → 安装数据库驱动 → 写连接代码 三步。下面以最常见的 MySQL / MariaDB 为例,也顺带提一下 PostgreSQL。


一、安装 PHP 和 Web 环境(如还没装)

sudo apt update
sudo apt install php php-cli

如果需要 Web 服务器(Apache/Nginx):

# Apache
sudo apt install apache2 libapache2-mod-php

# 或 Nginx
sudo apt install nginx php-fpm

二、安装数据库驱动(关键)

1️⃣ MySQL / MariaDB(推荐 PDO 或 mysqli)

sudo apt install php-mysql

安装后重启 Web 服务:

sudo systemctl restart apache2
# 或
sudo systemctl restart php-fpm

三、PHP 连接 MySQL 的两种常用方式

✅ 方式一:PDO(推荐,安全、通用)

<?php
$host = '127.0.0.1';
$db   = 'testdb';
$user = 'testuser';
$pass = 'password';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

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

✅ 方式二:mysqli(过程 / 面向对象)

<?php
$conn = new mysqli("127.0.0.1", "testuser", "password", "testdb");

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

四、确保数据库本身已准备好

安装 MySQL / MariaDB

sudo apt install mariadb-server
sudo mysql_secure_installation

创建数据库和用户

CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

五、常见错误排查

Class 'PDO' not found
→ 没装 php-mysql

Connection refused
→ 数据库没启动 / 地址错误

sudo systemctl status mariadb

❌ 权限问题
→ 用户只能是 localhost%


六、PostgreSQL(可选)

sudo apt install php-pgsql
$pdo = new PDO("pgsql:host=localhost;dbname=testdb", "user", "pass");

如果你告诉我:

  • 用的是 MySQL / PostgreSQL / SQLite
  • 命令行脚本 还是 网页
  • PHP 版本(php -v

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

0