温馨提示×

ubuntu php怎么连接数据库

小樊
41
2026-09-04 12:34:32
栏目: 编程语言

在 Ubuntu 上,PHP 连接数据库通常分 两步
1️⃣ 安装并配置数据库(如 MySQL / MariaDB)
2️⃣ 安装 PHP 数据库扩展并写连接代码

下面以 Ubuntu + PHP + MySQL(最常见) 为例说明。


一、安装环境

1. 安装 PHP 和 MySQL

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

如果你用的是 Nginx

sudo apt install php-fpm

如果用 Apache

sudo apt install libapache2-mod-php

2. 启动服务

sudo systemctl start mysql
sudo systemctl enable mysql

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

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 连接 MySQL 的方式

✅ 方式一:mysqli(最常用)

过程式写法

<?php
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");

if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "数据库连接成功";
?>

面向对象写法(推荐)

<?php
$conn = new mysqli("localhost", "testuser", "password", "testdb");

if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
?>

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

<?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();
}
?>

四、测试 PHP 文件

放到 Web 目录(如 Apache):

sudo mv test.php /var/www/html/

浏览器访问:

http://localhost/test.php

五、常见问题

❌ 报错:Class ‘mysqli’ not found

sudo apt install php-mysql
sudo systemctl restart apache2   # 或 php-fpm

❌ 拒绝访问(Access denied)

  • 用户名/密码错误
  • 用户权限不足
  • host 不是 localhost

六、其他数据库

  • PostgreSQL:php-pgsql
  • SQLite:php-sqlite3
  • Redis:php-redis

如果你用的是 Nginx / Docker / Laravel / 某种特定数据库,告诉我我可以给你更针对性的示例。

0