在 Debian 上让 PHP 连接 MySQL,通常分为三步:安装组件 → 配置 PHP 扩展 → 写测试代码。下面以 Debian 11/12 + PHP 8.x + MySQL/MariaDB 为例。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-mysql mysql-server -y
如果你用的是 Nginx:
sudo apt install nginx php-fpm -y
如果你用的是 Apache:
sudo apt install apache2 libapache2-mod-php -y
php -m | grep -i mysql
应看到:
mysqli
pdo_mysql
如果没有,手动安装:
sudo apt install php-mysql
sudo systemctl restart apache2 # Apache
# 或
sudo systemctl restart php8.2-fpm # Nginx
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
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "MySQL 连接成功";
?>
<?php
try {
$pdo = new PDO(
"mysql:host=localhost;dbname=testdb;charset=utf8mb4",
"testuser",
"password"
);
echo "PDO 连接成功";
} catch (PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
sudo systemctl status mysql
localhostundefined class mysqlisudo apt install php-mysql
new PDO("mysql:unix_socket=/var/run/mysqld/mysqld.sock;dbname=testdb", "user", "pass");
如果你愿意,可以告诉我:
我可以直接帮你对症解决。