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

IIS 下 PHP 連接 MySQL 報錯「undefined function mysql_connect()」完整排查

     編輯:PHP 綜合知識

錯誤原因

PHP 未載入 php_mysql.dll 擴展,或擴展目錄配置錯誤,或缺少 libmysql.dll。

標準修復步驟 (PHP 5.x / IIS)

  1. 編輯 php.ini,取消註釋:
    extension=php_mysql.dll
    extension=php_mysqli.dll
    extension=php_pdo_mysql.dll
  2. 設定 extension_dir 為實際擴展目錄(相對或絕對路徑):
    extension_dir = "ext"
  3. 複製 libmysql.dll 到系統路徑(如 C:\Windows\System32)或 PHP 目錄並加入 PATH。
  4. 重啟 IIS:iisreset 或管理工具重啟網站。
  5. 驗證:建立 test.php:
    <?php
    $link = @mysqli_connect('localhost', 'root', '123456');
    echo $link ? 'success' : 'fail: ' . mysqli_connect_error();

進階排查

  • phpinfo() 搜尋 mysql 確認模組載入。
  • 檢查 PHP 版位(x86/x64)與 libmysql.dll 版位一致。
  • 環境變數:將 PHP 目錄加入系統 PATH;設定 PHPRC 指向 php.ini 目錄。
  • IIS FastCGI 設定:確認 PHPRC 環境變數在應用程式池傳遞。

重要提醒

mysql_* 函數已於 PHP 7.0 移除。新專案請使用 mysqli 或 PDO_MySQL。舊專案維護建議逐步遷移:

// mysqli 程序風格(最接近 mysql_*)
$link = mysqli_connect('localhost', 'root', 'pwd', 'db');
mysqli_query($link, 'SET NAMES utf8');

// PDO(推薦)
$pdo = new PDO('mysql:host=localhost;dbname=db;charset=utf8', 'root', 'pwd');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved