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

Windows Server 2008 部署 IIS + PHP + MySQL 完整教學

     編輯:MySQL 綜合教學

環境準備與規劃

在 Windows Server 2008 上建置 IIS + PHP + MySQL 經典架構,需注意版本相容性。建議採用:IIS 7.0/7.5(內建)、PHP 7.4 或 8.0(非執行緒安全版)、MySQL 5.7 或 8.0。安裝前請確認已套用最新 Windows Update,並停用防火牆或開放 80、3306 連接埠。

第一階段:安裝 IIS 並啟用 CGI

  1. 開啟「伺服器管理員」→「角色」→「新增角色」,勾選「Web 伺服器 (IIS)」。
  2. 在角色服務中,務必勾選「CGI」與「ISAPI 擴充功能」(PHP 以 FastCGI 模式運作必須)。
  3. 完成安裝後,於瀏覽器輸入 https://localhost 驗證 IIS 運作正常。

第二階段:安裝與配置 PHP

  1. 下載 PHP Non-Thread Safe (NTS) 版本(如 php-8.0.30-nts-Win32-vs16-x64.zip),解壓至 C:\PHP。
  2. 複製 php.ini-development 為 php.ini,修改關鍵設定:
    • extension_dir = "ext"
    • 啟用常用擴充:extension=mysqli、extension=pdo_mysql、extension=openssl、extension=mbstring、extension=curl、extension=gd
    • cgi.force_redirect = 0、cgi.fix_pathinfo = 1、fastcgi.impersonate = 1
    • date.timezone = "Asia/Taipei"
  3. 將 C:\PHP 加入系統環境變數 Path。
  4. 於 IIS 管理員中:選擇伺服器節點 → 「處理常式對應」→「新增模組對應」:
    • 要求路徑:*.php
    • 模組:FastCgiModule
    • 可執行檔:C:\PHP\php-cgi.exe
    • 名稱:PHP_via_FastCGI
  5. 於「FastCGI 設定」中新增應用程式,路徑指向 php-cgi.exe,設定 instanceMaxRequests=10000、activityTimeout=70。
  6. 建立 C:\inetpub\wwwroot\phpinfo.php,內容 <?php phpinfo(); ?>,瀏覽器驗證 PHP 運作。

第三階段:安裝與配置 MySQL

  1. 下載 MySQL Installer (Community 版),選擇「Server only」安裝。
  2. 配置精靈中:選擇「Standalone MySQL Server / Classic MySQL Replication」,預設連接埠 3306,開啟防火牆例外。
  3. 驗證方式選擇「Use Strong Password Encryption」(MySQL 8.0 預設),設定 root 密碼。
  4. 以 Windows 服務方式運行,服務名稱保留預設 MySQL80。
  5. 安裝完成後,於命令列測試:
    mysql -u root -p

第四階段:整合測試與優化

  1. 建立測試腳本 db_test.php:
    <?php
    $mysqli = new mysqli("127.0.0.1", "root", "您的密碼", "mysql");
    if ($mysqli->connect_errno) {
        die("連線失敗: " . $mysqli->connect_error);
    }
    echo "MySQL 連線成功!版本: " . $mysqli->server_info;
    $mysqli->close();
    ?>
  2. 瀏覽器存取驗證 PHP-MySQL 連線。
  3. 調整 php.ini:max_execution_time=300、memory_limit=256M、upload_max_filesize=20M、post_max_size=20M。
  4. 調整 MySQL my.ini:innodb_buffer_pool_size=1G(視記憶體而定)、max_connections=200。

安全性強化建議

  • 建立專用資料庫帳號,僅授予必要權限,避免使用 root。
  • MySQL 僅監聽 127.0.0.1,或透過防火牆限制 3306 連接埠存取來源。
  • PHP 關閉 expose_php、display_errors(生產環境)。
  • IIS 啟用「要求篩選」,限制上傳副檔名、URL 長度。
  • 定期套用 Windows、PHP、MySQL 安全性更新。

常見問題排查

現象可能原因解決方向
PHP 頁面顯示空白/500 錯誤語法錯誤、擴充模組缺失、權限不足檢查 PHP 錯誤日誌、啟用 display_errors、確認擴充模組 DLL 存在
MySQL 連線失敗服務未啟動、密碼錯誤、防火牆阻擋、連接埠衝突檢查服務狀態、重置密碼、開放 3306、netstat -ano 確認連接埠
中文亂碼字元集不一致資料庫/資料表/連線均設為 utf8mb4,PHP 設定 default_charset=utf-8

結語

Windows Server 2008 雖已停止主流支援,但在舊有系統維護案例中仍具參考價值。本教學涵蓋 IIS、PHP、MySQL 三大核心元件的安裝、配置、整合與安全強化,遵循最佳實務原則。實際部署時請依據專案需求調整版本選擇與參數調校,並建立完整備份與災難恢復機制。

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