首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Windows 7 64位搭建 PHP 開發環境:Apache 2.4 + PHP 5.6 + MySQL 5.6 完整配置指南

     編輯:PHP 相關知識

Windows 7 64位搭建 PHP 開發環境:Apache 2.4 + PHP 5.6 + MySQL 5.6 完整配置指南

雖然現代開發推薦 Docker/Laravel Sail/WSL2,但在 Windows 原生環境手動配置 Apache+PHP+MySQL 仍有助於理解底層整合原理。本文記錄 Win7 64 位旗艦版下的完整安裝配置過程。

軟體版本與路徑規劃

1. PHP 配置 (php.ini)

複製 php.ini-production 為 php.ini,關鍵修改:

; 隱藏版本
expose_php = Off

; 擴充目錄
extension_dir = "D:\devsoft\apm\php-5.6.3-Win32-VC11-x64\ext"

; 啟用常用擴充
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll

; 時區
date.timezone = Asia/Shanghai

; Session/Upload 目錄
session.save_path = "D:\config_web\session_home"
upload_tmp_dir = "D:\config_web\upload_home"

; 禁用危險函式 (開發環境可放寬)
disable_functions = phpinfo,exec,passthru,popen,proc_open,shell_exec,system,assert,chroot,getcwd,scandir,unlink,delete,rmdir,rename,chgrp,chmod,chown,fopen,copy,mkdir,file,file_get_contents,fputs,fwrite,dir

2. Apache 配置 (httpd.conf)

# 根目錄
ServerRoot "D:\devsoft\apm\httpd-2.4.10-win64-VC11\Apache24"

# 載入 PHP 模組 (VC11 版本必須匹配)
LoadModule php5_module "D:\devsoft\apm\php-5.6.3-Win32-VC11-x64\php5apache2_4.dll"
PHPIniDir "D:\devsoft\apm\php-5.6.3-Win32-VC11-x64"
AddType application/x-httpd-php .php .html .htm

# URL 重寫
LoadModule rewrite_module modules/mod_rewrite.so

# 埠與域名
ServerName localhost:80
Listen 80

# 文件根目錄與權限
DocumentRoot "D:\config_web\php_web_sum\php_web"

    # open_basedir 限制訪問範圍
    php_admin_value open_basedir "D:\config_web\php_web_sum\php_web\;D:\config_web\log\;D:\config_web\upload_home\;D:\config_web\session_home\;D:\config_web\upload_home_tmp\"
    Options FollowSymLinks
    AllowOverride All
    Require all granted


# 預設文件

    DirectoryIndex index.php index.html


# 日誌分割 (rotatelogs)
ErrorLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/error_%Y%m%d.log 5M 86400 +480"
CustomLog "|D:/devsoft/apm/httpd-2.4.10-win64-VC11/Apache24/bin/rotatelogs.exe logs/access_%Y%m%d.log 5M 86400 +480" common

# 隱藏版本
ServerSignature Off
ServerTokens Prod

# 禁用危險副檔名

    Order allow,deny
    Deny from all


# PHP 錯誤日誌
php_value error_log "D:\config_web\log\php_errors.log"

    Order allow,deny
    Deny from all
    Satisfy All


# 簡單 Rewrite 測試
RewriteEngine on
RewriteRule ^(.*).html$ /$1.php

3. MySQL 配置 (my.ini)

複製 my-default.ini 為 my.ini:

[mysqld]
basedir=D:\devsoft\apm\mysql-5.6.22-winx64
datadir=D:\devsoft\apm\mysql-5.6.22-winx64\data
explicit_defaults_for_timestamp=TRUE
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8

[mysql]
default-character-set=utf8

4. 服務安裝與啟動

# Apache 安裝為服務
httpd.exe -k install -n "Apache2.4"
# 啟動
httpd.exe -k start -n "Apache2.4"

# MySQL 初始化 (5.6 無需手動初始化 data 目錄)
# 安裝服務
mysqld --install MySQL56
# 啟動
net start MySQL56

# 設定 root 密碼
mysqladmin -u root password "newpass"

5. 常見問題排查

元件版本/檔案安裝路徑
PHPphp-5.6.3-Win32-VC11-x64.zipD:\devsoft\apm\php-5.6.3-Win32-VC11-x64
Apachehttpd-2.4.10-win64-VC11.zipD:\devsoft\apm\httpd-2.4.10-win64-VC11\Apache24
MySQLmysql-5.6.22-winx64.zipD:\devsoft\apm\mysql-5.6.22-winx64
Web 根目錄-D:\config_web\php_web_sum\php_web
Session/Upload/Log-D:\config_web\session_home, upload_home, log

6. 驗證測試

# 瀏覽器訪問
https://localhost/           → Apache It works!
https://localhost/phpinfo.php → PHP 版本、模組、配置
# phpinfo.php 內容

現代化替代方案建議

  • Docker:docker-compose up -d 一鍵啟動標準化環境,支援多版本切換、生產一致性。
  • Laravel Sail / Laravel Valet (Windows 用 WSL2):零配置開發環境。
  • XAMPP / WampServer / phpStudy:圖形化整合包,適合快速上手、不想手動配置。
  • PHP 內建伺服器:php -S localhost:8000 -t public 臨時測試單腳本。

手動配置雖繁瑣,但能深入理解 Web 伺服器、PHP SAPI、資料庫連線、權限控制、日誌管理等底層細節。生產環境強烈建議 Linux + Nginx + PHP-FPM + MySQL/PostgreSQL + Docker/K8s 編排。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
問題解決
Apache 啟動失敗:缺少 vcruntime140.dll / msvcp140.dll安裝 Visual C++ Redistributable for VS 2015-2022 (x64)
Apache 啟動失敗:缺少 libssh2.dll將 PHP 目錄下的 libssh2.dll 複製至 C:\Windows\SysWOW64 (或系統 PATH 目錄)
PHP 無法載入 mysql 擴充確認 php_mysql.dll 存在、extension_dir 正確、VC 版本匹配 (VC11)、重啟 Apache
MySQL 連線失敗檢查 bind-address、防火牆 3306 埠、root 密碼、skip-grant-tables 重設密碼
中文亂碼資料庫/表/連線皆設 utf8 (或 utf8mb4)、PHP header('Content-Type: text/html; charset=utf-8')