在 Ubuntu 上用 PHP 连接数据库,常见的是 MySQL / MariaDB,下面按“最常用方式”一步步说明。
sudo apt update
sudo apt install php php-mysql mysql-server
如果你用的是 Nginx:
sudo apt install php-fpm
如果是 Apache:
sudo apt install libapache2-mod-php
安装完成后检查:
php -v
sudo systemctl start mysql
sudo systemctl enable mysql
初始化安全设置(可选但推荐):
sudo mysql_secure_installation
登录 MySQL:
sudo mysql -u root -p
执行:
CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
<?php
$host = "localhost";
$user = "testuser";
$pass = "password";
$db = "testdb";
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
?>
<?php
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>
<?php
try {
$pdo = new PDO(
"mysql:host=localhost;dbname=testdb;charset=utf8",
"testuser",
"password"
);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "数据库连接成功";
} catch (PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
✅ PDO 支持预处理,防 SQL 注入,推荐生产环境使用
如果是 Apache:
sudo cp test.php /var/www/html/
浏览器访问:
http://localhost/test.php
如果是 Nginx + php-fpm,放到:
/var/www/html/
(具体看你的 server 配置)
可能是 PHP 没解析
检查:
php -m | grep mysqli
php -m | grep pdo_mysql
localhostsudo apt install php-sqlite3
new PDO("sqlite:test.db");
如果你用的是 特定框架(Laravel / ThinkPHP) 或 远程数据库,可以告诉我,我可以给你更具体的配置示例。