centos

CentOS上PHP如何与数据库连接

小樊
45
2025-10-15 04:26:39
栏目: 编程语言

在CentOS上,PHP可以通过多种方式与数据库连接。以下是一些常见的数据库及其连接方法:

1. MySQL/MariaDB

使用mysqli扩展

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

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

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

// 关闭连接
$conn->close();
?>

使用PDO扩展

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

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

// 关闭连接
$conn = null;
?>

2. PostgreSQL

使用mysqli扩展

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

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

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

// 关闭连接
$conn->close();
?>

使用PDO扩展

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

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

// 关闭连接
$conn = null;
?>

3. SQLite

使用SQLite3扩展

<?php
$dbname = "your_database.db";

try {
    $conn = new SQLite3($dbname);
    echo "连接成功";
} catch(Exception $e) {
    echo "连接失败: " . $e->getMessage();
}

// 关闭连接
$conn = null;
?>

安装扩展

如果你发现PHP没有安装相应的数据库扩展,可以使用以下命令进行安装:

MySQL/MariaDB

sudo yum install php-mysqlnd

PostgreSQL

sudo yum install php-pgsql

SQLite

sudo yum install php-sqlite3

安装完成后,重启Apache或Nginx服务器以使更改生效:

sudo systemctl restart httpd  # 对于Apache
sudo systemctl restart nginx  # 对于Nginx

通过以上步骤,你可以在CentOS上使用PHP连接到不同的数据库。

0
看了该问题的人还看了