centos

centos lamp下php如何连接数据库

小樊
38
2025-09-08 00:02:50
栏目: 编程语言

在 CentOS 系统上配置 LAMP(Linux, Apache, MySQL, PHP)环境后,PHP 连接数据库通常使用 MySQL 或 MariaDB。以下是详细的步骤指南,帮助你在 CentOS 上使用 PHP 连接到 MySQL 数据库。

1. 安装必要的软件包

首先,确保你已经安装了 Apache、MySQL(或 MariaDB)以及 PHP。如果尚未安装,可以使用以下命令进行安装:

# 更新系统软件包
sudo yum update -y

# 安装 Apache
sudo yum install -y httpd

# 启动并启用 Apache 服务
sudo systemctl start httpd
sudo systemctl enable httpd

# 安装 MySQL(CentOS 8 默认使用 MariaDB)
sudo yum install -y mariadb-server mariadb

# 启动并启用 MariaDB 服务
sudo systemctl start mariadb
sudo systemctl enable mariadb

# 运行安全设置脚本,配置 root 密码和其他安全选项
sudo mysql_secure_installation

# 安装 PHP 及相关模块
sudo yum install -y php php-mysqlnd php-pdo php-gd php-mbstring php-xml

# 重启 Apache 以加载 PHP 模块
sudo systemctl restart httpd

2. 配置 MariaDB/Mysql

确保 MariaDB/Mysql 允许远程连接,并创建一个用于 PHP 连接的数据库和用户。

# 登录到 MySQL/MariaDB
sudo mysql -u root -p

# 创建一个新的数据库(例如:mydatabase)
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 创建一个新用户并授权(例如:user@localhost)
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

# 授予用户对数据库的权限
GRANT ALL PRIVILEGES ON mydatabase.* TO 'user'@'localhost';

# 刷新权限
FLUSH PRIVILEGES;

# 退出 MySQL/MariaDB
EXIT;

注意:将 'user''password' 替换为你自己的用户名和密码。如果需要从远程主机连接,请将 'localhost' 替换为相应的 IP 地址或 '%'(允许任何主机)。

3. 创建 PHP 连接脚本

在你的 web 根目录(通常是 /var/www/html)下创建一个 PHP 文件,例如 connect.php,并添加以下内容:

<?php
// 数据库配置
$servername = "localhost";     // 数据库主机地址
$username = "user";          // 数据库用户名
$password = "password";      // 数据库密码
$dbname = "mydatabase";      // 数据库名称

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

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

确保将 $servername$username$password$dbname 替换为你实际的数据库配置。

4. 测试连接

connect.php 文件上传到你的 web 服务器目录(例如 /var/www/html/),然后在浏览器中访问 http://your_server_ip/connect.php

5. 常见问题排查

6. 使用 PDO 连接数据库(推荐)

PDO(PHP Data Objects)提供了一个数据访问抽象层,支持多种数据库。以下是使用 PDO 连接 MySQL 的示例:

<?php
// 数据库配置
$servername = "localhost";
$username = "user";
$password = "password";
$dbname = "mydatabase";

try {
    // 创建 PDO 实例
    $conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8mb4", $username, $password);
    
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "连接成功";
} catch(PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?>

优点:

总结

通过以上步骤,你应该能够在 CentOS 的 LAMP 环境下成功配置 PHP 连接到 MySQL 数据库。如果在过程中遇到问题,请仔细检查每一步的配置,并参考相关日志文件(如 Apache 的 error_log 和 MySQL 的 error.log)进行排查。

如果你有更多问题或需要进一步的帮助,请随时提问!

0
看了该问题的人还看了