httpd-2.4.x-win64-VC14.zip。D:\Dev\Apache24。打開 D:\Dev\Apache24\conf\httpd.conf,修改以下關鍵項:
# 1. 服務器根目錄 (第 37 行左右)
ServerRoot "D:/Dev/Apache24"
# 2. 監聽端口 (第 58 行)
Listen 8080
# 3. 文檔根目錄 (第 226, 227 行)
DocumentRoot "D:/Dev/www"
<Directory "D:/Dev/www">
# 4. 默認首頁文件 (第 274 行)
DirectoryIndex index.html index.php
# 5. 啟用 rewrite 模塊 (第 159 行,去掉 #)
LoadModule rewrite_module modules/mod_rewrite.so
# 6. 允許 .htaccess 覆蓋 (第 242 行)
AllowOverride All
以管理員身份打開 CMD/PowerShell:
cd /d D:\Dev\Apache24\bin
httpd.exe -k install -n "Apache2.4_PHP7"
# 啟動服務
net start "Apache2.4_PHP7"
# 或直接運行調試模式
httpd.exe
瀏覽器訪問 https://localhost:8080,見到 "It works!" 表示 Apache 運行正常。
D:\Dev\PHP7。php.ini-development 為 php.ini。; 擴展目錄 (第 750 行左右) - 必須為絕對路徑
extension_dir = "D:/Dev/PHP7/ext"
; 常用擴展啟用 (去掉前分號)
extension=curl
extension=gd2
extension=mbstring
extension=mysqli
extension=pdo_mysql
extension=openssl
extension=xmlrpc
; 時區 (第 970 行)
date.timezone = Asia/Taipei
; 錯誤報告 (開發環境)
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = "D:/Dev/PHP7/logs/php_error.log"
; 會話存儲路徑
session.save_path = "D:/Dev/PHP7/sessiondata"
; 文件上傳
file_uploads = On
upload_max_filesize = 20M
post_max_size = 25M
創建對應目錄:logs、sessiondata。
在 httpd.conf 末尾追加:
# 載入 PHP 模塊 (路徑指向 php7apache2_4.dll)
LoadModule php7_module "D:/Dev/PHP7/php7apache2_4.dll"
# 指定 PHP 配置文件目錄
PHPIniDir "D:/Dev/PHP7"
# 關聯 .php 文件類型
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
# 可選:解析 .html 為 PHP
# AddType application/x-httpd-php .html
net stop "Apache2.4_PHP7"
net start "Apache2.4_PHP7"
在 D:\Dev\www 創建 phpinfo.php:
<?php phpinfo(); ?>
訪問 https://localhost:8080/phpinfo.php,查看 PHP 版本、載入模塊、配置路徑是否正確。
在 httpd.conf 引入獨立虛擬主機配置文件:
# httpd.conf 末尾
Include conf/extra/httpd-vhosts.conf
編輯 conf/extra/httpd-vhosts.conf:
<VirtualHost *:8080>
ServerName project1.local
DocumentRoot "D:/Dev/www/project1"
<Directory "D:/Dev/www/project1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "logs/project1-error.log"
CustomLog "logs/project1-access.log" common
</VirtualHost>
<VirtualHost *:8080>
ServerName project2.local
DocumentRoot "D:/Dev/www/project2"
<Directory "D:/Dev/www/project2">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
修改 Windows hosts 文件 (C:\Windows\System32\drivers\etc\hosts):
127.0.0.1 project1.local
127.0.0.1 project2.local
| 現象 | 可能原因 | 解決方案 |
|---|---|---|
| Apache 啟動閃退 | 端口被佔用 / 配置語法錯誤 | httpd.exe -t 測試配置;netstat -ano | findstr :8080 查端口 |
| PHP 模塊載入失敗 | VC 版本/位數不匹配 / 路徑錯誤 | 確認 php7apache2_4.dll 存在且為 VC14 x64 TS |
| 頁面顯示代碼/下載 | AddType/SetHandler 未生效 | 檢查 httpd.conf 語法、重啟 Apache、清除瀏覽器緩存 |
| 擴展無法加載 | extension_dir 路徑錯誤 / 依賴 DLL 缺失 | 用絕對路徑;安裝 VC++ 2015 Redistributable (VC14) |
| 中文亂碼 | 編碼不一致 | php.ini default_charset = UTF-8;文件保存為 UTF-8 無 BOM |
php.ini-production 作為基礎,關閉 display_errors,開啟 opcache。Event MPM + PHP-FPM (FastCGI) 替代 mod_php,獲得更好併發性能。按照本教程步驟操作,你將在 Windows 10 上擁有一個穩定、標準的 PHP 7 + Apache 2.4 開發環境,為後續框架學習、項目開發打下堅實基礎。