在 Debian 上用 PHP 连接数据库,通常分为 安装环境 → 安装数据库驱动 → 写连接代码 三步。下面以最常见的 MySQL / MariaDB 为例,也顺带提一下 PostgreSQL。
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
sudo apt install php-mysql
安装后重启 Web 服务:
sudo systemctl restart apache2
# 或
sudo systemctl restart php-fpm
<?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();
}
<?php
$conn = new mysqli("127.0.0.1", "testuser", "password", "testdb");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
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 或 %
sudo apt install php-pgsql
$pdo = new PDO("pgsql:host=localhost;dbname=testdb", "user", "pass");
如果你告诉我:
php -v)我可以给你更精确的示例。