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

在 Windows Server 2008 R2 上部署 Drupal 7:IIS 7.0 + PHP + MySQL 完整指南

     編輯:MySQL 綜合教學

在 Windows Server 2008 R2 上部署 Drupal 7:IIS 7.0 + PHP + MySQL 完整指南

本文詳細記錄在 Windows Server 2008 R2 Enterprise 64 位元環境下,使用 IIS 7.0、PHP 5.5.25 與 MySQL 5.5.28 建立 Drupal 7 網站的完整流程,包含軟體準備、環境設定、資料庫匯入、常見錯誤排除等實戰步驟,供需要在 Windows 平台佈署 Drupal 的開發者參考。

一、伺服器環境與軟體準備

  • 作業系統:Windows Server 2008 R2 Enterprise 64-bit
  • 核心軟體:
    • IIS 7.0(內建於作業系統)
    • PHP Manager for IIS:下載連結
    • PHP 5.5.25 (VC11 x64 Non Thread Safe):官方下載頁
    • MySQL Installer Community 5.5.28.3:官方下載頁
    • Navicat for MySQL 10.0.11(資料庫管理工具)
    • Visual C++ 2012 Redistributable (vcredist_x64.exe,提供 msvcr110.dll)

參考教學:IIS + PHP Manager + PHP 安裝步驟、CSDN 相關教學

二、PHP 環境設定

  1. 將 php-5.5.25-Win32-VC11-x64 解壓縮至 C:\ 根目錄。
  2. 複製 php-development.ini 並重新命名為 php.ini。
  3. 編輯 php.ini,修改擴充模組路徑:
    extension_dir = "C:\php-5.5.25-Win32-VC11-x64\ext"(請依實際路徑調整,並移除前方分號)。
  4. 啟用必要擴充模組(移除前方分號):
    extension=php_curl.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
    extension=php_pdo_mysql.dll
    extension=php_xmlrpc.dll
  5. 設定時區:date.timezone = "Asia/Shanghai"。

三、MySQL 環境設定

  1. 找到 MySQL 安裝目錄下的 my.ini 設定檔。
  2. 在 [mysqld] 區段新增或修改下列參數,依實際需求調整數值:
    max_allowed_packet=500M
    wait_timeout=288000
    interactive_timeout=288000
  3. 重新啟動 MySQL 服務使設定生效。

四、IIS 發布網站與資料庫匯入

  1. 在 IIS 管理員中建立網站,指向 Drupal 程式碼根目錄,綁定連接埠與主機名稱。
  2. 使用 Navicat for MySQL 建立新資料庫,並透過「備份/還原」功能匯入網站資料(.sql 檔)。

五、修改 Drupal 資料庫連線設定

編輯網站根目錄下的 sites/default/settings.php,找到 $databases 陣列並依下列範例修改:

$databases = array (
  'default' => array (
    'default' => array (
      'database' => '第6步建立的資料庫名稱',
      'username' => 'root',
      'password' => '你的密碼',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

六、瀏覽器驗證與常見問題排除

於瀏覽器輸入網站網址,若出現 HTTP 錯誤 500.0 - Internal Server Error,錯誤訊息提示 FastCGI 進程超過了配置的活動超時時限,請依下列步驟調整:

問題原因

PHP 處理時間超過 IIS FastCGI 預設的 activityTimeout(預設 30 秒),導致請求中斷。需將逾時時間延長(例如 600 秒)。

解決方案(含路徑含空格處理)

  1. 開啟命令提示字元(以系統管理員身分執行)。
  2. 查看目前 FastCGI 設定:
    %windir%\system32\inetsrv\appcmd list config /section:system.webServer/fastCgi
  3. 修改 activityTimeout 為 600 秒(10 分鐘),路徑含空格時必須用雙引號包裹全路徑:
    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI "/[fullPath='C:\Program Files\php\php-cgi.exe'].activityTimeout:600"
  4. 若仍失敗,請檢查 IIS 應用程式集區,嘗試切換為 DefaultAppPool。
  5. 或直接編輯 C:\Windows\System32\inetsrv\config\applicationHost.config,尋找 <fastCgi> 區段手動修改對應 application 節點的 activityTimeout 屬性。

參考資源:新浪部落格相關討論

七、總結

完成上述步驟後,Drupal 7 應可在 IIS 7.0 上正常運作。關鍵點在於 PHP 擴充模組完整啟用、MySQL 參數依負載調整、以及 FastCGI 逾時設定需符合 Drupal 複雜頁面的執行時間需求。若遇到其他錯誤,建議優先查閱 IIS 錯誤日誌與 PHP 錯誤日誌進行釐清。

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