温馨提示×

ubuntu php配置怎么连数据库

小樊
38
2026-09-10 09:53:16
栏目: 编程语言

在 Ubuntu 上用 PHP 连接数据库,通常分 MySQL / MariaDBPostgreSQL 两种常见情况。下面以 PHP + MySQL(最常用) 为例,一步一步说明。


一、安装 PHP 和数据库扩展

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 PHP 和 MySQL 扩展

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

如果你用的是 PHP 8.x + Nginx/Apache,也可以:

sudo apt install php8.1 php8.1-mysql

3. 安装 Web 服务器(可选)

# Apache
sudo apt install apache2 -y

# 或 Nginx
sudo apt install nginx php-fpm -y

二、启动数据库

sudo systemctl start mysql
sudo systemctl enable mysql

设置 root 密码(首次):

sudo mysql_secure_installation

三、创建数据库和用户(推荐)

sudo mysql -u root -p
CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

四、PHP 连接 MySQL 示例

✅ 方法 1:mysqli(常用)

<?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 "数据库连接成功";
?>

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

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

五、测试 PHP 文件

如果是 Apache:

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

浏览器访问:

http://localhost/test.php

六、常见问题排查

1. 找不到 mysqli / pdo_mysql

php -m | grep mysqli

没有就安装:

sudo apt install php-mysql
sudo systemctl restart apache2

2. 连接被拒绝

  • 确认 MySQL 在运行
  • 确认用户是 localhost
  • 确认密码正确

3. 远程连接

CREATE USER 'testuser'@'%' IDENTIFIED BY 'password';

并修改 bind-address = 0.0.0.0


如果你用的是 PostgreSQL / SQLite / Laravel / Docker,告诉我我可以给你对应配置。

0