在 Debian 上用 PHP 连接数据库,通常分 MySQL/MariaDB 和 PostgreSQL 两种常见情况。下面以最常用、最标准的做法说明。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-cli -y
sudo apt install php-mysql -y
sudo apt install php-pgsql -y
安装后重启 Web 服务(如 Apache/Nginx):
sudo systemctl restart apache2
# 或
sudo systemctl restart nginx
<?php
$host = "localhost";
$user = "dbuser";
$pass = "dbpass";
$db = "testdb";
$conn = mysqli_connect($host, $user, $pass, $db);
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "MySQL 连接成功";
?>
<?php
try {
$pdo = new PDO(
"mysql:host=localhost;dbname=testdb;charset=utf8mb4",
"dbuser",
"dbpass"
);
echo "PDO 连接成功";
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}
?>
<?php
try {
$pdo = new PDO(
"pgsql:host=localhost;dbname=testdb",
"pguser",
"pgpass"
);
echo "PostgreSQL 连接成功";
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}
?>
查看已加载扩展:
php -m | grep -E "mysqli|pdo_mysql|pgsql|pdo_pgsql"
bind-address = 127.0.0.1GRANT ALL ON testdb.* TO 'dbuser'@'localhost';
FLUSH PRIVILEGES;
确保安装了:
sudo apt install php-fpm
✅ 使用 PDO
✅ 使用 try-catch
✅ 不要硬编码密码(可用环境变量或配置文件)
如果你告诉我:
我可以给你更精确的配置示例。