Skip to content

Instantly share code, notes, and snippets.

@charlychiu
Last active August 4, 2025 09:31
Show Gist options
  • Select an option

  • Save charlychiu/4794d0f62f5bf385c63fe8250dbd88c6 to your computer and use it in GitHub Desktop.

Select an option

Save charlychiu/4794d0f62f5bf385c63fe8250dbd88c6 to your computer and use it in GitHub Desktop.
XAMPP 多版本 PHP 配置 (PHP 7.4 + PHP 8.2)

XAMPP 多版本 PHP 配置指南 (PHP 7.4 + PHP 8.2)

本指南將幫助您在現有的 XAMPP (PHP 7.4) 環境中添加 PHP 8.2 支援,並配置 Composer 用於 Laravel 專案開發。

目錄

準備多版本 PHP 環境

1. 下載 PHP 8.2

  1. 前往 PHP 官方下載頁面
  2. 下載適用於 Windows 的 Non Thread Safe (NTS) 版本
    • 檔案名稱範例:php-8.2.29-nts-Win32-vs16-x64.zip
  3. 解壓縮到 C:\xampp\php82\

2. 配置 php.ini

  1. 複製 C:\xampp\php82\php.ini-developmentphp.ini
  2. 編輯 C:\xampp\php82\php.ini,啟用以下擴充套件:
; 移除擴充套件前的分號來啟用
extension=openssl
extension=curl
extension=mbstring
extension=pdo_sqlite
extension=pdo_mysql
extension=fileinfo
extension=zip

; 設定擴充套件目錄
extension_dir = "ext"

配置 Apache 支援多 PHP 版本

1. 修改 httpd-xampp.conf

編輯 C:\xampp\apache\conf\extra\httpd-xampp.conf,在檔案末端添加以下配置:

# PHP 8.2 配置
ScriptAlias /php82 "C:/xampp/php82/"
Action application/x-httpd-php82-cgi /php82/php-cgi.exe
SetEnv PHPRC "C:/xampp/php82"

<Directory "C:/xampp/php82">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
        Require all granted
    </Files>
</Directory>

2. 配置虛擬主機

編輯 C:\xampp\apache\conf\extra\httpd-vhosts.conf,為 Laravel 專案添加虛擬主機:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/your-laravel-project/public"
    ServerName your-domain.local
    <Directory "C:/xampp/htdocs/your-laravel-project/public">
        Require all granted
        AllowOverride All
        <FilesMatch "\.php$">
            SetHandler application/x-httpd-php82-cgi
        </FilesMatch>
    </Directory>
</VirtualHost>

3. 重啟 Apache 服務

在 XAMPP 控制面板中重新啟動 Apache 服務。

安裝與配置 Composer

1. 下載並安裝 Composer

使用 PHP 8.2 執行以下指令:

# 下載 Composer 安裝程式
C:\xampp\php82\php.exe -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

# 驗證安裝程式
C:\xampp\php82\php.exe -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified' . PHP_EOL; } else { echo 'Installer corrupt' . PHP_EOL; unlink('composer-setup.php'); } echo PHP_EOL;"

# 安裝 Composer
C:\xampp\php82\php.exe composer-setup.php

# 清理安裝檔案
C:\xampp\php82\php.exe -r "unlink('composer-setup.php');"

2. Laravel 專案相關指令

# 安裝 Laravel 依賴
C:\xampp\php82\php.exe composer.phar install

# 執行 Laravel 佇列處理
C:\xampp\php82\php.exe artisan queue:work --queue=high,default

3. 前端資源建置

# 安裝 Node.js 依賴 (需要 Node.js 22.x)
npm install

# 建置生產環境資源
npm run build

注意: 請確保已安裝 Git 和 Node.js 22.x 版本

解決 SSL 憑證問題

如果遇到以下錯誤:

cURL error 60: SSL certificate problem: unable to get local issuer certificate

1. 下載 CA 憑證檔案

從官方下載最新的 CA 憑證包:

2. 放置憑證檔案

放置憑證:

# 將下載的 cacert.pem 放到此目錄
C:\xampp\php82\extras\ssl\cacert.pem

3. 編輯 php.ini 配置

編輯 C:\xampp\php82\php.ini,添加或修改以下設定:

[curl]
curl.cainfo = "C:\xampp\php82\extras\ssl\cacert.pem"

[openssl]
openssl.cafile = "C:\xampp\php82\extras\ssl\cacert.pem"

重要: 移除設定前的分號 ; 來啟用配置

4. 重啟服務

  • Apache 模式: 重啟 XAMPP Apache 服務
  • CLI 模式: 重新執行 PHP 指令

測試配置

修改 hosts 檔案 (可選)

如需本地測試,可編輯以下檔案:

C:\Windows\System32\drivers\etc\hosts

添加測試域名:

127.0.0.1 your-domain.local

驗證 PHP 版本

檢查 PHP 8.2 是否正常運作:

C:\xampp\php82\php.exe -v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment