溫馨提示×

Ubuntu中PHP如何配置數據庫連接

小樊
58
2025-04-17 17:37:10
欄目: 編程語言

在Ubuntu系統中,配置PHP連接數據庫通常涉及以下幾個步驟:

1. 安裝PHP和數據庫服務器

首先,確保你已經安裝了PHP和所需的數據庫服務器(如MySQL或MariaDB)。

安裝PHP

sudo apt update
sudo apt install php php-cli php-fpm php-mysql

安裝MySQL/MariaDB

sudo apt update
sudo apt install mysql-server

2. 配置數據庫服務器

啟動并啟用MySQL/MariaDB服務,并運行安全設置腳本。

sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation

3. 創建數據庫和用戶

登錄到MySQL/MariaDB并創建一個新的數據庫和用戶。

sudo mysql -u root -p

在MySQL shell中執行以下命令:

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. 配置PHP連接數據庫

在你的PHP項目中,使用PDO(PHP Data Objects)或mysqli擴展來連接數據庫。

使用PDO連接數據庫

創建一個PHP文件(例如config.php),并添加以下代碼:

<?php
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myuser';
$password = 'mypassword';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    // 設置PDO錯誤模式為異常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

使用mysqli連接數據庫

創建一個PHP文件(例如config.php),并添加以下代碼:

<?php
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myuser';
$password = 'mypassword';

// 創建連接
$conn = new mysqli($host, $username, $password, $dbname);

// 檢查連接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

5. 測試連接

在你的PHP項目中,包含config.php文件并嘗試執行一些數據庫操作來測試連接是否成功。

<?php
include 'config.php';

// 使用PDO示例
try {
    $stmt = $pdo->query("SELECT * FROM mytable");
    while ($row = $stmt->fetch()) {
        echo $row['column_name'] . "<br>";
    }
} catch(PDOException $e) {
    echo "Query failed: " . $e->getMessage();
}

// 使用mysqli示例
$result = $conn->query("SELECT * FROM mytable");
if ($result->num_rows > 0) {
    // 輸出每行數據
    while($row = $result->fetch_assoc()) {
        echo $row["column_name"] . "<br>";
    }
} else {
    echo "0 results";
}
?>

6. 配置PHP-FPM(如果使用)

如果你使用的是PHP-FPM,確保你的Web服務器(如Nginx或Apache)配置正確,指向PHP-FPM進程。

Nginx配置示例

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根據你的PHP版本調整
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

Apache配置示例

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
    </FilesMatch>
</VirtualHost>

完成以上步驟后,你應該能夠在Ubuntu系統中成功配置PHP連接數據庫。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女