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

WAMP 整合環境升級 PHP 版本完整步驟與避坑指南

     編輯:PHP 相關知識

升級前準備

  1. 備份:完整複製 wamp\ 目錄或至少備份 wamp\bin\php\、wamp\bin\apache\、wamp\alias\
  2. 確認架構:WAMP 為 32-bit (x86) 或 64-bit (x64),PHP 必須匹配
  3. 確認 VC 編譯版本:PHP 需與 Apache 相同 VC 版本 (VC11, VC14, VC15, VS16)
  4. 確認 Thread Safety:Apache 模組模式需 Thread Safe (TS),PHP-FPM/Nginx 需 Non Thread Safe (NTS)

下載正確 PHP 版本

  • 官方下載:https://windows.php.net/download/
  • 選擇:Zip 包 (非 Installer)
  • 範例檔名解讀:php-8.2.10-Win32-vs16-x64.zip
    • vs16 = Visual Studio 2019 (VC16)
    • x64 = 64 位元
    • Thread Safe 字樣 = TS 版本

升級步驟

1. 停止所有 WAMP 服務

WAMP 圖示右鍵 → Stop All Services,確保圖示變綠/紅 (非橙色)

2. 解壓 PHP 至版本目錄

# 目標路徑
wamp\bin\php\php8.2.10\

# 解壓 Zip 內容至此目錄 (包含 php.exe, php.ini 等)

3. 複製/更新 Apache 所需 DLL

# 從新 PHP 目錄複製至 Apache bin 目錄
copy wamp\bin\php\php8.2.10\php8ts.dll        wamp\bin\apache\apache2.4.xx\bin\
copy wamp\bin\php\php8.2.10\php8apache2_4.dll wamp\bin\apache\apache2.4.xx\bin\

# 注意:檔名對應 PHP 版本 (php8ts.dll, php7ts.dll, php5ts.dll)

4. 修改 php.ini 關鍵設定

; 必須修改的路徑設定 (搜尋舊路徑替換)
extension_dir = "D:/wamp/bin/php/php8.2.10/ext"
upload_tmp_dir = "D:/wamp/tmp/upload"
session.save_path = "D:/wamp/tmp/session"
error_log = "D:/wamp/logs/php_error.log"

; 時區 (必設,否則警告)
[Date]
date.timezone = Asia/Taipei

; 擴展啟用 (視專案需求)
extension=curl
extension=gd
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=mysqli
extension=redis
extension=zip
extension=intl

; 生產環境建議
display_errors = Off
log_errors = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

5. 更新 WAMP 版本切換選單 (wampmanager.conf)

; wamp\wampmanager.conf
[php]
; 新增版本選項
Type: item; Caption: "PHP 8.2.10"; Action: run; FileName: "php/php8.2.10/php.exe"; Parameters: "-v"; WorkingDir: "php/php8.2.10"; Flags: ""
; ... 現有版本保留 ...

6. 重新啟動 WAMP 服務

WAMP 圖示右鍵 → Restart All Services,圖示應轉綠 (全部正常)

7. 驗證升級成功


# 建立測試檔
echo "" > wamp\www\phpinfo.php

# 瀏覽器開啟 https://localhost/phpinfo.php
# 確認 PHP Version、Loaded Configuration File、Apache Handler 正確

常見問題與解決

問題原因解決
WAMP 圖示長期橙色Apache 啟動失敗檢查 wamp\logs\apache_error.log;常見:PHP DLL 版本不匹配、port 80 被佔用、httpd.conf 語法錯誤
PHP 模組載入失敗TS/NTS 混用、VC 版本不符重新下載正確版本 (TS + 同 VC 版本)
擴展無法載入extension_dir 錯誤、DLL 缺失檢查 extension_dir 絕對路徑;確認 ext 目錄有對應 dll
MySQL 連線失敗pdo_mysql/mysqli 未啟用、libmysql.dll 衝突啟用擴展;PHP 7+ 內建 mysqlnd,無需 libmysql.dll
時區警告php.ini 未設 date.timezone設定 date.timezone = Asia/Taipei
Composer 提示 PHP 版本舊CLI 使用舊版本將新 PHP 目錄加入系統 PATH 最前端,或用完整路徑執行

多版本共存最佳實踐

  1. 每版本獨立目錄:wamp\bin\php\php7.4.33\, php8.1.25\, php8.2.10\
  2. WAMP 選單切換:左鍵 WAMP 圖示 → PHP → Version → 選擇版本 (自動修改 httpd.conf LoadModule、重啟 Apache)
  3. CLI 版本管理:建立 php7.bat, php8.bat 指向不同版本

遷移檢查清單 (PHP 7.x → 8.x)

  • ❌ 移除功能:each(), create_function(), $$var 解構, assert() 字串參數
  • ⚠️ 嚴格類型:內建函數拋出 TypeError 而非警告
  • ⚠️ 錯誤處理:Error 例外取代部分致命錯誤
  • ✅ 新功能:Union Types, Named Arguments, Attributes, Match Expression, Constructor Property Promotion
  • 🔧 相容性檢查:composer require phpstan/phpstan php-parallel-lint/php-parallel-lint
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved