温馨提示×

Ubuntu怎么连接PHP数据库

小樊
43
2026-07-28 04:07:17
栏目: 编程语言

Ubuntu 上让 PHP 连接数据库,常见的是 MySQL / MariaDB。下面按“从安装到测试”一步步来,适合新手。


一、安装必要的软件

1️⃣ 安装 Apache + PHP + MySQL(如果还没装)

sudo apt update
sudo apt install apache2 php php-mysql mysql-server

安装完成后检查:

php -v
mysql --version

二、启动并设置 MySQL

1️⃣ 启动 MySQL

sudo systemctl start mysql
sudo systemctl enable mysql

2️⃣ 初始化 MySQL(推荐)

sudo mysql_secure_installation

按提示设置 root 密码、删除测试库等。


三、创建数据库和用户(示例)

登录 MySQL:

sudo mysql -u root -p

执行 SQL:

CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

四、PHP 连接 MySQL 的两种方式 ✅

✅ 方式一:mysqli(常用、简单)

创建测试文件:

sudo nano /var/www/html/db_test.php

写入以下内容:

<?php
$host = "localhost";
$user = "testuser";
$password = "password";
$database = "testdb";

$conn = new mysqli($host, $user, $password, $database);

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

echo "✅ PHP 成功连接 MySQL 数据库!";
$conn->close();
?>

浏览器访问:

http://localhost/db_test.php

✅ 方式二:PDO(推荐,更安全)

<?php
try {
    $dsn = "mysql:host=localhost;dbname=testdb;charset=utf8mb4";
    $pdo = new PDO($dsn, "testuser", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "✅ PDO 成功连接数据库!";
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

五、常见问题排查

❌ 1. PHP 连不上 MySQL

检查是否安装扩展:

php -m | grep mysql

如果没有:

sudo apt install php-mysql
sudo systemctl restart apache2

❌ 2. 权限问题

确认用户是 localhost,不是 %

SELECT user, host FROM mysql.user;

❌ 3. 防火墙

sudo ufw status

本地连接一般不用开端口。


六、总结(最简流程)

Ubuntu
 ├─ 安装 php php-mysql mysql-server
 ├─ 创建数据库和用户
 ├─ PHP 使用 mysqli 或 PDO 连接
 └─ 浏览器测试

如果你用的是 Nginx + PHP-FPM远程数据库SQLiteLaravel / ThinkPHP,告诉我,我可以给你对应配置。

0