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

PHP 5.3 Yii 框架 PDO MySQL 擴展載入失敗:extension_dir 必須用絕對路徑

     編輯:PHP 綜合知識

Yii 框架需求檢查頁面顯示 pdo_mysql 未載入,但 php.ini 明確設定 extension=php_pdo_mysql.dll。經排查,根因在於 extension_dir 使用相對路徑。

問題現象

  • Yii requirements 頁面:PDO MySQL 顯示「Failed」
  • php.ini 已啟用 extension=php_pdo_mysql.dll
  • php -m 指令顯示模組正常,但 Web 環境下不生效

根本原因

PHP 在 Web 伺服器(Apache/Nginx+PHP-FPM)模式下,工作目錄非 PHP 安裝目錄,相對路徑 ext 無法正確定位擴展檔案。

解決方案

; 錯誤:相對路徑
extension_dir = "ext"

; 正確:絕對路徑(依實際安裝位置調整)
extension_dir = "D:/var/php53/ext"
; 或 Linux 環境
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525"

驗證步驟

  1. 修改 php.ini 設定絕對路徑
  2. 重啟 Apache 或 PHP-FPM
  3. 重新整理 Yii requirements 頁面,確認 PDO MySQL 顯示「OK」

最佳實踐建議

  • 所有環境(開發/測試/生產)統一使用絕對路徑
  • 部署腳本自動偵測 PHP 安裝路徑並寫入配置
  • 使用 php -i | grep extension_dir 驗證實際生效路徑

此問題在 Windows + Apache 環境最常見,Linux 套件管理安裝通常自動配置正確。

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