温馨提示×

ubuntu php怎样连接mysql

小樊
37
2026-09-01 10:59:22
栏目: 云计算

在 Ubuntu 上用 PHP 连接 MySQL,通常分 环境准备代码连接 两部分。下面以 Ubuntu 20.04/22.04 + PHP 8.x + MySQL 8 为例说明。


一、安装必要环境

1. 安装 MySQL

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

2. 安装 PHP 及 MySQL 扩展

sudo apt install php php-mysql

如果是 Web 服务器:

  • Apache:
    sudo apt install apache2 libapache2-mod-php
    
  • Nginx:
    sudo apt install nginx php-fpm
    

3. 重启服务

sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm

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

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

三、PHP 连接 MySQL 的方式

✅ 方式一:MySQLi(推荐新手)

面向对象写法

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

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

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

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

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

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

四、常见错误排查

1. 未安装 php-mysql

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

2. 权限问题

确保 MySQL 用户是 localhost,不是 %

3. socket 连接错误

可改为:

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

五、测试文件

放到:

/var/www/html/test.php

浏览器访问:

http://localhost/test.php

如果你用的是 Docker / Laravel / Ubuntu 版本不同,可以告诉我,我给你对应方案。

0