[Batch] 使用Windows批次檔(bat)快速修改PHP版本

本文最後更新於:2024年5月2日 晚上

由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。

一、安裝pathman

按照官方文件安裝pathman
有npm:

npm install -g pathman

無npm:
下載後執行指令:

mkdir %userprofile%\bin
move pathman.exe %userprofile%\bin\pathman.exe
%userprofile%\bin\pathman.exe add ~/bin

二、使用方法

# 列出現有的PATH環境變數
pathman list

# 加入新的PATH環境變數
pathman add path/to/target

# 移除既有的PATH環境變數
pathman remove path/to/target

安裝完成後記得重新開啟command line

三、撰寫批次檔

  1. phpv.bat
    @echo off
    setlocal enabledelayedexpansion
    
    @REM 列舉本地安裝的所有PHP版本與執行路徑
    set php5.6=C:\php\php5.6.40
    set php7.0=C:\php\php7.0.33
    set php7.1=C:\php\php7.1.33
    set php7.2=C:\php\php7.2.34
    set php7.3=C:\php\php7.3.33
    set php7.4=C:\php\php7.4.26
    set php8.0=C:\php\php8.0.13
    set php8.1=C:\php\php8.1.0
    
    @REM 取得輸入版本
    set version=php%1
    
    @REM 檢查版本是否存在
    if (!%version%!)==() (
        echo unknow version: %1
        exit
    )
    
    @REM 移除現有版本
    pathman remove %php5.6%
    pathman remove %php7.0%
    pathman remove %php7.1%
    pathman remove %php7.2%
    pathman remove %php7.3%
    pathman remove %php7.4%
    pathman remove %php8.0%
    pathman remove %php8.1%
    
    @REM 設定指定的版本
    pathman add !%version%!
    
    echo change php version to: !%version%!

四、設定環境變數

將存放該bat檔案的路徑加入環境變數,例如我的bat完整路徑為:

C:\php\phpv.bat

那就將C:\php加入PATH中
除了利用GUI完成外,也可以利用剛剛安裝的pathman工具

pathman add C:\php

設定完成後重新開啟command line,就可以輕鬆使用phpv指令切換PHP版本了,例如:

phpv 8.1

環境

  • Windows 10

[Batch] 使用Windows批次檔(bat)快速修改PHP版本
https://hankz1108.github.io/posts/20231101-batch-change-env-path/
作者
Hankz
發布於
2023年11月1日
更新於
2024年5月2日
許可協議