温馨提示×

ubuntu php怎样连数据库

小樊
50
2026-09-07 10:58:38
栏目: 编程语言

在 Ubuntu 上用 PHP 连接数据库,常见的是 MySQL / MariaDB,下面按“最常用方式”一步步说明。


一、安装必要环境

1. 安装 PHP 和数据库扩展

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 连接数据库的几种方式

✅ 方式一: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 "数据库连接成功";
?>

过程化写法

<?php
$conn = mysqli_connect("localhost", "testuser", "password", "testdb");
if (!$conn) {
    die("连接失败: " . mysqli_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();
}
?>

PDO 支持预处理,防 SQL 注入,推荐生产环境使用


五、测试 PHP 文件

如果是 Apache:

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

浏览器访问:

http://localhost/test.php

如果是 Nginx + php-fpm,放到:

/var/www/html/

(具体看你的 server 配置)


六、常见问题

1. 页面空白

可能是 PHP 没解析
检查:

php -m | grep mysqli
php -m | grep pdo_mysql

2. 拒绝连接

  • 数据库没启动
  • 用户权限问题
  • 主机不是 localhost

3. 用 SQLite?

sudo apt install php-sqlite3
new PDO("sqlite:test.db");

如果你用的是 特定框架(Laravel / ThinkPHP)远程数据库,可以告诉我,我可以给你更具体的配置示例。

0