温馨提示×

CentOS怎样连接PHP数据库

小樊
43
2026-07-08 03:02:41
栏目: 编程语言

CentOS 上连接 PHP 数据库,通常指的是 PHP 连接 MySQL / MariaDB,下面按常见场景一步步说明(以 CentOS 7/8 + PHP + MySQL/MariaDB 为例)。


一、先确认环境

1️⃣ 查看系统版本

cat /etc/centos-release

2️⃣ 查看 PHP 版本

php -v

二、安装数据库(MySQL / MariaDB)

✅ CentOS 7(推荐 MariaDB)

yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

✅ CentOS 8

dnf install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

初始化数据库(可选但推荐)

mysql_secure_installation

三、安装 PHP 和数据库扩展

1️⃣ 安装 PHP

yum install -y php php-cli

2️⃣ 安装 MySQL 扩展(关键)

✅ PHP 5.x / 7.x(常用)

yum install -y php-mysqlnd

✅ PHP 8.x

dnf install -y php-mysqlnd

3️⃣ 重启 Web 服务

systemctl restart httpd   # Apache
# 或
systemctl restart nginx   # Nginx(需配合 php-fpm)

四、创建数据库和用户

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";
$password = "password";
$database = "testdb";

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

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

echo "数据库连接成功";
$conn->close();
?>

✅ 使用 PDO(更安全,推荐)

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

六、常见问题排查

❌ 1. 页面空白

tail -f /var/log/httpd/error_log

❌ 2. 提示 Class 'mysqli' not found

php -m | grep mysql

没输出说明扩展没装。

❌ 3. SELinux 阻止连接(CentOS 常见问题)

setenforce 0   # 测试用

或允许 HTTP 访问数据库:

setsebool -P httpd_can_network_connect_db 1

七、总结

✅ 核心步骤:

  1. 安装 MariaDB / MySQL
  2. 安装 php-mysqlnd
  3. 创建数据库和用户
  4. 使用 mysqliPDO 连接

如果你用的是 CentOS 版本 / PHP 版本 / 数据库类型 不同,可以告诉我,我可以给你精确命令

0