温馨提示×

debian php如何连数据库

小樊
40
2026-09-29 06:25:32
栏目: 编程语言

在 Debian 上用 PHP 连接数据库,通常分为 安装环境 → 安装数据库驱动 → 写连接代码 三步。下面以最常见的 MySQL / MariaDB 为例说明(也适用于其他数据库)。


一、安装 PHP 和数据库驱动

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 PHP(如未安装)

sudo apt install php php-cli -y

3. 安装 MySQL / MariaDB 驱动

# MySQL
sudo apt install php-mysql -y

# 如果使用 MariaDB(Debian 默认)
sudo apt install php-mysql mariadb-server -y

4. 重启 Web 服务(如 Apache / Nginx)

# Apache
sudo systemctl restart apache2

# Nginx + PHP-FPM
sudo systemctl restart php-fpm
sudo systemctl restart nginx

二、确认数据库已启动

sudo systemctl status mariadb
# 或
sudo systemctl status mysql

未启动则:

sudo systemctl start mariadb

三、创建测试数据库和用户(示例)

sudo mysql -u root
CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

四、PHP 连接数据库的几种方式

✅ 方法 1:使用 PDO(推荐)

<?php
$host = 'localhost';
$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();
}

✅ 方法 2:使用 mysqli(过程式)

<?php
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");

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

五、在 Web 中访问(可选)

把 PHP 文件放到:

/var/www/html/test.php

浏览器访问:

http://localhost/test.php

六、常见问题排查

1. 报错 Class "PDO" not found

sudo apt install php-mysql
sudo systemctl restart apache2

2. 拒绝连接

  • 确认数据库在运行
  • 确认用户权限
  • 确认 localhost 而非 127.0.0.1(或反过来)

3. 查看 PHP 模块

php -m | grep -i mysql

如果你用的是 PostgreSQL / SQLite / SQL Server,或者 Docker / Nginx + PHP-FPM,可以告诉我,我可以给你对应的连接方式。

0 踩