温馨提示×

怎样连接ubuntu php数据库

小樊
32
2026-10-07 08:03:02
栏目: 编程语言

在 Ubuntu 上用 PHP 连接数据库,通常分为 MySQL / MariaDB 和 其他数据库(如 PostgreSQL) 两种情况。下面以最常见的 PHP + MySQL(或 MariaDB) 为例,一步一步说明。


一、安装环境(如果还没装)

1. 更新系统

sudo apt update
sudo apt upgrade

2. 安装 PHP 和 MySQL

sudo apt install php php-mysql mysql-server

如果你用的是 Nginx:

sudo apt install nginx

如果你用的是 Apache:

sudo apt install apache2

二、启动数据库并设置

启动 MySQL

sudo systemctl start mysql
sudo systemctl enable mysql

初始化(首次安装建议)

sudo mysql_secure_installation

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

sudo mysql -u root -p

在 MySQL 中执行:

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";
$pass = "password";
$db   = "testdb";

$conn = new mysqli($host, $user, $pass, $db);

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

浏览器访问:

http://localhost/db_test.php

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

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

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "数据库连接成功";
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

五、常见问题排查

1. 页面空白

  • 检查 PHP 是否安装:
php -v
  • 查看错误日志:
sudo tail -f /var/log/apache2/error.log
# 或
sudo tail -f /var/log/nginx/error.log

2. 连接被拒绝

  • 确认 MySQL 在运行:
sudo systemctl status mysql
  • 确认用户是 localhost 而非 127.0.0.1

六、如果是 PostgreSQL

sudo apt install php-pgsql postgresql

PHP 示例:

$conn = pg_connect("host=localhost dbname=testdb user=testuser password=password");

如果你告诉我:

  • 用的是 Apache 还是 Nginx
  • 数据库类型(MySQL / MariaDB / PostgreSQL)
  • PHP 版本

我可以给你更精确的连接示例。

0 踩