環境是開發的地基。本文提供 Windows (AppServ) 與 Linux (XAMPP) 兩大主流集成包的圖文安裝、Apache/PHP 核心配置深度解析、端口衝突/時區/擴展加載等高頻問題解決方案。
方案一:Windows + AppServ (圖文步驟)
- 下載
AppServ-win32-x.x.x.exe (官網/可信鏡像)
- 雙擊安裝 → Next → I Agree
- 安裝路徑:
E:\AppServ (建議非系統盤)
- 組件全選:Apache, PHP, MySQL/MariaDB, phpMyAdmin
- Apache 端口:8080 (避開 IIS/系統 80 端口)
- MySQL Root 密碼:強密碼並記牢,字符集 UTF-8 Unicode
- 安裝完成 → 啟動服務 → 開始菜單驗證
方案二:Linux + XAMPP (命令行)
# 下載
wget https://www.apachefriends.org/xampp-files/8.x.x/xampp-linux-x64-8.x.x-installer.run
chmod +x xampp-linux-*.run
sudo ./xampp-linux-*.run
# 圖形安裝器按提示操作,或無人值守
sudo /opt/lampp/lampp start
# 關鍵路徑
/opt/lampp/bin/php # PHP 執行文件
/opt/lampp/etc/httpd.conf # Apache 配置
/opt/lampp/etc/php.ini # PHP 配置
/opt/lampp/htdocs # Web 根目錄
Apache 核心配置 (httpd.conf / apache2.conf)
| 指令 | 說明 | 典型值 |
| ServerName | 服務器標識 | localhost:8080 |
| DocumentRoot | Web 根目錄 | Windows: E:/AppServ/www | Linux: /opt/lampp/htdocs |
| LoadModule rewrite_module | 偽靜態/URL 重寫 | modules/mod_rewrite.so (必須啟用) |
| DirectoryIndex | 默認首頁文件 | index.php index.html |
| AllowOverride | .htaccess 權限 | All (開發) / None (生產靜態) |
PHP 核心配置 (php.ini 關鍵參數)
| 參數 | 建議值 | 說明 |
| error_reporting | E_ALL & ~E_NOTICE & ~E_STRICT | 開發顯示所有錯誤,生產關閉顯示只記錄日誌 |
| display_errors | On (開發) / Off (生產) | 生產禁用直接輸出 |
| log_errors | On | 記錄到 error_log |
| date.timezone | Asia/Shanghai | 解決 date() 相差 8 小時問題 |
| upload_max_filesize | 50M | 配合 post_max_size > upload_max_filesize |
| post_max_size | 60M | |
| max_execution_time | 300 | 長任務調大 |
| memory_limit | 256M | 視項目調整 |
| extension_dir | ext | 擴展目錄 |
| extension= | mysqli, pdo_mysql, gd, curl, mbstring, openssl, zip, redis... | 按需啟用,去掉分號 |
高頻問題解決方案
1. Apache 端口衝突 (80 被佔用)
- Windows: `netstat -ano | findstr :80` → 任務管理器殺 PID,或改 Apache `Listen 8080`
- Linux: `ss -tlnp | grep :80` → `systemctl stop nginx/httpd` 或修改端口
- 訪問時帶端口:
https://localhost:8080/
2. PHP 時區相差 8 小時
; php.ini
date.timezone = Asia/Shanghai
; 重啟 Apache 生效
3. 動態擴展加載
- Windows: `extension=php_xxx.dll` (去掉分號)
- Linux: `extension=xxx.so`
- 某些擴展需系統庫支持 (如 `php_java.dll` 需 JDK,`php_ldap.dll` 需 OpenLDAP)
4. 修改配置後必須重啟服務
# Windows: 開始菜單 → AppServ → Restart Apache
# Linux:
sudo /opt/lampp/lampp restartapache
# 或
sudo systemctl restart httpd/apache2
驗證清單
- ☑
https://localhost:8080/ 顯示歡迎頁
- ☑
https://localhost:8080/phpmyadmin 登入成功
- ☑
php -v 顯示正確版本
- ☑
php -m | grep -E 'mysqli|pdo|gd|curl' 核心擴展已載入
- ☑ 寫入
test.php 執行 phpinfo() 無報錯