温馨提示×

CentOS如何连接PHP数据库

小樊
39
2026-08-29 14:29:37
栏目: 编程语言

CentOS 上连接 PHP 数据库(以 MySQL / MariaDB 为例),通常分为以下几个步骤。下面我按 最常见、最稳定 的方式一步步说明。


一、环境准备(CentOS 7/8 通用)

1️⃣ 安装 Apache / Nginx(以 Apache 为例)

yum install -y httpd
systemctl start httpd
systemctl enable httpd

2️⃣ 安装 PHP(推荐 PHP 7.x / 8.x)

CentOS 7

yum install -y epel-release
yum install -y yum-utils
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
yum install -y php php-mysqlnd

CentOS 8

dnf install -y php php-mysqlnd

检查版本:

php -v

3️⃣ 安装并启动 MariaDB(MySQL 替代品)

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

初始化数据库安全设置:

mysql_secure_installation

二、创建数据库和用户

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(推荐新手)

test.php

<?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 "数据库连接成功";
$conn->close();
?>

把文件放到:

/var/www/html/test.php

浏览器访问:

http://服务器IP/test.php

✅ 方式二: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. PHP 无法连接数据库

php -m | grep mysql

没有输出说明未安装扩展。


❌ 2. 防火墙阻止

systemctl stop firewalld

或开放端口:

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

❌ 3. SELinux 影响

临时关闭测试:

setenforce 0

五、运行环境验证

php -m | grep -E "mysqli|pdo"
systemctl status httpd
systemctl status mariadb

如果你:

  • ✅ 使用的是 Nginx
  • ✅ 用的是 MySQL 8
  • ✅ 想远程连接数据库
  • ✅ 使用的是 PHP 框架(Laravel / ThinkPHP)

可以直接告诉我,我可以给你 更精确的配置方案

0