商城首页欢迎来到中国正版软件门户

您的位置:首页 >Ubuntu下PHP如何连接MySQL

Ubuntu下PHP如何连接MySQL

  发布于2026-08-13 阅读(0)

扫一扫,手机访问

在 Ubuntu 环境里,PHP 要连接 MySQL,通常会用到 MySQLiPDO 这两个扩展。接下来就按步骤展开,从安装开始,一直到示例代码,依次说明清楚。

Ubuntu下PHP如何连接MySQL

一、确认环境

1. 已安装 PHP

php -v

如果没有安装:

sudo apt update
sudo apt install php php-cli

二、安装 MySQL 扩展

1. Ubuntu 20.04 / 22.04 / 24.04(推荐)

安装 MySQL 服务器(如果还没装)

sudo apt install mysql-server

安装 PHP MySQL 扩展

sudo apt install php-mysql

安装这个包后,mysqlipdo_mysql 这两个扩展会一并启用。

2. 重启 Web 服务

Apache

sudo systemctl restart apache2

Nginx + PHP-FPM

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

三、检查扩展是否启用

php -m | grep -E 'mysqli|pdo_mysql'

或创建测试文件:

phpinfo();

四、PHP 连接 MySQL 示例

示例 1:使用 MySQLi(面向对象)

$host = 'localhost';
$user = 'root';
$password = 'your_password';
$database = 'testdb';

$conn = new mysqli($host, $user, $password, $database);

if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}

echo "MySQLi 连接成功";
$conn->close();

示例 2:使用 PDO(推荐)

$host = 'localhost';
$db = 'testdb';
$user = 'root';
$pass = 'your_password';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

try {
$pdo = new PDO($dsn, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "PDO 连接成功";
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}

五、常见问题

1. 连接失败:Access denied

Access denied for user 'root'@'localhost'

解决:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
FLUSH PRIVILEGES;

2. 使用 Socket 连接

如果 MySQL 使用 socket:

$conn = new mysqli('localhost', 'root', 'password', 'testdb', null, '/var/run/mysqld/mysqld.sock');

3. PHP 版本与扩展不匹配

查看 PHP 版本:

php -v

安装对应版本扩展(如 PHP 8.1):

sudo apt install php8.1-mysql

六、推荐做法

  • 使用 PDO(支持预处理,更安全)
  • 使用 try-catch 处理异常
  • 不要在生产环境暴露数据库密码

如果你愿意,可以告诉我:

  • 使用的是 Apache / Nginx
  • PHP 版本
  • 是否用 Docker

我可以给你更精确的配置方案。

本文转载于:https://www.yisu.com/ask/90897791.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注