如果要在 windows 底下 使用 xampp 執行多個不同php版本
我個人建議採用 port 切割的方式 也方便測試各版本的相容性
php 8.3 下載 https://windows.php.net/download#php-8.3
下載完畢後 可在 C:\xampp 底下 開一個 php8_3 的資料夾存放
然後修改 apache 的設定
C:\xampp\apache\conf\extra\httpd-xampp.conf
# # php v8.3 # ScriptAlias /php8_3 "C:/xampp/php8_3" Action application/x-httpd-php83-cgi /php8_3/php-cgi.exe <Directory "C:/xampp/php8_3"> AllowOverride None Options None Require all denied <Files "php-cgi.exe"> Require all granted Listen 8083 DocumentRoot "C:/xampp/htdocs" DirectoryIndex index.php index.html <Directory "C:/xampp/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted <FilesMatch "\.php$"> SetHandler application/x-httpd-php83-cgi
正確設定 應在 http://127.0.0.1:8083/ 底下 可以正常瀏覽
可如同參考文章說的建立一個php來確定當前執行的版本
<?php echo 'php version ' . phpversion();
如上述設定後還是有錯誤 可參考 內容出處的做法
修改 php.ini
去方才下載好的 php8_3 裡面找 php.ini-development 這支檔案,複製出一個新的,重新命名為 php.ini。然後打開它,把這一行 uncomment。這行 code 上方有官方註解,說這是 Windows 環境需要做的設置
extension_dir = "ext"
關閉 SetEnv PHPRC 設定
繼續在 httpd-xampp.conf 這支檔案,上方去找這一行,把它 comment 起來屏蔽掉,否則在執行時會出現 403 錯誤。
SetEnv PHPRC "\\xampp\\php"
這陣子有幸碰到了 php 的專案,稍微研究了一下如何在 windows 快速弄一個 php 環境,這邊簡單做個紀錄。