本文詳細說明在 Windows 環境手動安裝與設定 Apache 2.4、PHP 5.3 (VC6)、MySQL 5.5、phpMyAdmin 3.5 的完整流程,包含版本選擇、模組載入、擴充模組、常見錯誤排解與 phpMyAdmin 進階設定。
| 元件 | 建議版本 | 說明 |
|---|---|---|
| Apache | 2.4.x (Win64) | 官網下載 httpd-2.4.x-win64-VC15.zip |
| PHP | 5.3.x VC6 x86 Thread Safe | 關鍵:Apache 2.4 on Windows 需 VC6 編譯、Thread Safe 版本;IIS 則用 VC9 Non Thread Safe |
| MySQL | 5.5 / 5.6 / 5.7 (MSI 安裝版) | 安裝時設定 root 密碼、字元集 utf8mb4 |
| phpMyAdmin | 4.x / 5.x | 對應 PHP 版本,官網下載 all-languages.zip |
VC6 vs VC9、Thread Safe vs Non Thread Safe 選擇原則:
編輯 httpd.conf:
# PHP 模組載入(路徑請依實際安裝位置調整,避免空格)
LoadModule php5_module "D:/php/php5apache2_4.dll"
# PHP 設定檔路徑
PHPIniDir "D:/php"
# 關聯 .php 副檔名
AddType application/x-httpd-php .php .php3 .phtml
SetHandler application/x-httpd-php
DirectoryIndex index.php index.html
路徑空格問題:安裝路徑避免空格(如 Program Files),若無法避免請用雙引號包裹或使用短路徑(Progra~1)。
php.ini-development 為 php.iniextension_dir = "D:/php/ext"
date.timezone = "Asia/Taipei"
display_errors = On ; 開發環境開啟,生產環境關閉
error_reporting = E_ALL
short_open_tag = On
; 常用擴充模組(去掉前面分號啟用)
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_gd2.dll
extension=php_curl.dll
extension=php_xml.dll
extension=php_openssl.dll
; extension=php_mcrypt.dll ; PHP 7.2+ 已移除,改用 sodium 或 openssl
| 錯誤訊息 | 原因 | 解決方法 |
|---|---|---|
| Unable to load dynamic library 'php_xxx.dll' | extension_dir 錯誤、DLL 缺失、相依 DLL 未在 PATH | 1. 確認 extension_dir 路徑正確 2. 將 php 目錄與 ext 目錄加入系統 PATH 3. 複製 libsasl.dll、libssh2.dll 等相依 DLL 到 Apache bin 或 System32 |
| 無法載入 mcrypt 擴充 | 缺少 libmcrypt.dll 或未啟用 extension | 複製 libmcrypt.dll 到 System32,啟用 extension=php_mcrypt.dll |
| 無法載入 mysql 擴充 | 缺少 libmysql.dll | 複製 PHP 目錄下的 libmysql.dll 到 System32 或 Apache bin |
| blowfish_secret 錯誤 | phpMyAdmin config.inc.php 未設定 | 設定 $cfg['blowfish_secret'] = '隨機長字串'; 並 auth_type=cookie |
| #2003 伺服器無回應 | MySQL 服務未啟動 | 服務管理員啟動 MySQL,確認 3306 port 監聽 |
| mbstring 擴充未發現 | 未啟用 php_mbstring.dll | php.ini 啟用 extension=php_mbstring.dll 並重啟 Apache |
<?php
$cfg['blowfish_secret'] = 'your-32-chars-random-string-here'; // cookie 認證必須
$cfg['Servers'][1]['host'] = 'localhost';
$cfg['Servers'][1]['port'] = '3306';
$cfg['Servers'][1]['user'] = 'root';
$cfg['Servers'][1]['password'] = 'your-mysql-password';
$cfg['Servers'][1]['auth_type'] = 'cookie'; // 建議 cookie 模式
$cfg['DefaultLang'] = 'zh-tw';
$cfg['DefaultCharset'] = 'utf-8';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
注意:phpMyAdmin 4.x+ 主要設定檔為根目錄 config.inc.php,舊版 libraries/config.default.php 已棄用。若同時存在兩者,根目錄優先級較高。
# 1. Apache 監聽 port 80
https://localhost/ -> It works!
# 2. PHP 模組載入
echo '<?php phpinfo(); ?>' > C:/Apache24/htdocs/info.php
https://localhost/info.php -> 顯示 PHP 版本、模組、設定
# 3. phpMyAdmin
https://localhost/phpmyadmin/ -> 登入介面
Options -Indexesdisplay_errors、開啟 log_errors、設定 open_basedir手動安裝雖繁瑣,但能深入理解各元件交互關係,對排除疑難雜症極有幫助。現代專案建議使用 Docker、XAMPP、WAMPServer 或 Laragon 等整合套件快速建立開發環境。