在 Debian 上用 PHP 连接数据库,通常分为 安装环境 → 安装数据库驱动 → 写连接代码 三步。下面以最常见的 MySQL / MariaDB 为例说明(也适用于其他数据库)。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-cli -y
# MySQL
sudo apt install php-mysql -y
# 如果使用 MariaDB(Debian 默认)
sudo apt install php-mysql mariadb-server -y
# 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
$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();
}
<?php
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "数据库连接成功";
把 PHP 文件放到:
/var/www/html/test.php
浏览器访问:
http://localhost/test.php
Class "PDO" not foundsudo apt install php-mysql
sudo systemctl restart apache2
localhost 而非 127.0.0.1(或反过来)php -m | grep -i mysql
如果你用的是 PostgreSQL / SQLite / SQL Server,或者 Docker / Nginx + PHP-FPM,可以告诉我,我可以给你对应的连接方式。