首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 啟用 PDO 與 PDO_MySQL 擴展完整指南

     編輯:PHP 相關知識

PDO (PHP Data Objects) 為 PHP 訪問數據庫定義了輕量級、一致性的接口,提供數據訪問抽象層,使得無論使用何種數據庫,都能通過統一的函數執行查詢與獲取數據。許多現代 PHP 管理系統(如 Laravel、Symfony、ThinkPHP)均要求啟用 PDO 及對應驅動。本文詳細說明在 Windows 與 Linux 環境下的啟用步驟。

Windows 環境啟用步驟

  1. 定位 php.ini 文件(可通過 php --ini 或 phpinfo() 查看)
  2. 搜尋以下兩行並移除前面的分號 ;:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
  1. 重啟 Apache 或 IIS 服務
  2. 執行 php -m | grep pdo 或查看 phpinfo() 驗證是否生效

Linux 環境啟用步驟

Ubuntu/Debian 系列

sudo apt-get update
sudo apt-get install php-pdo php-mysql
sudo systemctl restart apache2

CentOS/RHEL 系列

sudo yum install php-pdo php-mysqlnd
sudo systemctl restart httpd

從源碼編譯安裝

# 進入 PHP 源碼擴展目錄
cd php-src/ext/pdo_mysql
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=mysqlnd
make && sudo make install
# 在 php.ini 中添加 extension=pdo_mysql.so

驗證安裝成功

創建測試腳本 test_pdo.php:

<?php
try {
    $pdo = new PDO("mysql:host=localhost;dbname=test", "root", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "PDO 連接成功!";
    print_r($pdo->query("SELECT VERSION()")->fetch());
} catch (PDOException $e) {
    echo "連接失敗: " . $e->getMessage();
}
?>

常見問題排查

問題原因解決方案
找不到 php_pdo.dllPHP 版本不匹配或安裝不完整下載對應版本的 PHP 完整包,提取 dll 文件
啟用後報錯 "could not find driver"缺少 MySQL 客戶端庫Windows: 複製 libmysql.dll 到系統目錄;Linux: 安裝 libmysqlclient-dev
phpinfo() 不顯示 pdo_mysql修改了錯誤的 php.ini執行 php --ini 確認加載的配置文件路徑

PDO 核心優勢回顧

  • 數據庫無關性:更換數據庫只需修改 DSN 連接字符串
  • 預處理語句:有效防止 SQL 注入,提升性能
  • 異常處理:統一的 PDOException 異常體系
  • 多種獲取模式:支持關聯數組、數字索引、對象、類映射等

啟用 PDO 後,建議在項目中全面替換舊的 mysql_* 函數(已在 PHP 7.0 移除),使用 PDO 進行數據庫操作,享受更安全、可維護的代碼體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved