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

更新於 發佈於 閱讀時間約 3 分鐘
此文章同步刊登於我的部落格


由於開發多個專案的時候,頻繁切換本地環境的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


留言
avatar-img
留言分享你的想法!
avatar-img
Hankz是名工程師
8會員
21內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
Hankz是名工程師的其他內容
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
2024/03/20
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
2024/03/20
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
如果有在Windows系統中備份資料的需求,如果可以寫好一個批次檔並使用工作排程定期複製檔案到指定目錄那就太方便了,本篇文張教你使用xcopy指令實現的一個簡易的bat。
Thumbnail
如果有在Windows系統中備份資料的需求,如果可以寫好一個批次檔並使用工作排程定期複製檔案到指定目錄那就太方便了,本篇文張教你使用xcopy指令實現的一個簡易的bat。
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News