wamp\ 目錄或至少備份 wamp\bin\php\、wamp\bin\apache\、wamp\alias\php-8.2.10-Win32-vs16-x64.zip
vs16 = Visual Studio 2019 (VC16)x64 = 64 位元Thread Safe 字樣 = TS 版本WAMP 圖示右鍵 → Stop All Services,確保圖示變綠/紅 (非橙色)
# 目標路徑
wamp\bin\php\php8.2.10\
# 解壓 Zip 內容至此目錄 (包含 php.exe, php.ini 等)
# 從新 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)
; 必須修改的路徑設定 (搜尋舊路徑替換)
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
; 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: ""
; ... 現有版本保留 ...
WAMP 圖示右鍵 → Restart All Services,圖示應轉綠 (全部正常)
# 建立測試檔
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 最前端,或用完整路徑執行 |
wamp\bin\php\php7.4.33\, php8.1.25\, php8.2.10\php7.bat, php8.bat 指向不同版本each(), create_function(), $$var 解構, assert() 字串參數TypeError 而非警告Error 例外取代部分致命錯誤composer require phpstan/phpstan php-parallel-lint/php-parallel-lint