phpsh – phpcli開發的終極方案

最近用php代替vbs腳本,做些小工具的開發。為了方便測試不同php版本的兼容,專門寫了一個 php版本切換的 批處理 phpsh.cmd,支持安裝到系統、卸載等功能,還支持多個php版本的任意切換(需要先安裝phpStudy)。

如果需要安裝到系統,必須以管理員身份運行 命令提示符,基本的使用方法如下:

安裝成功后,就不用使用管理員身份執行了??梢栽谌我饽夸?執行 phpsh,會自動設置php環境。

如果以 非管理員身份執行 安裝和卸載,會有對應的提示。不安裝到系統也可以運行:

不安裝時,如果phpsh沒有在當前路徑,可以使用完整的路徑名運行:

代碼比較簡單,下面時全部的代碼:

@echo off

::安裝路徑
set ins=C:\Windows\%~nx0

::如果存在對應的PHP版本,進入主程序
if "%1"=="" goto main
if "%1"=="52" goto main
if "%1"=="53" goto main
if "%1"=="53n" goto main
if "%1"=="55" goto main
if "%1"=="55n" goto main
if "%1"=="70n" goto main
goto cmds

::主程序
:main
set PHP_VER=PHP%1
if "%PHP_VER%" == "PHP" set PHP_VER=PHP55
set path=d:\phpstudy\%PHP_VER%;%path%
title %PHP_VER%_sh
prompt %PHP_VER%_sh^>$p#
goto quit

::如果是輸入的非數字參數,解析
:cmds
if "%1"=="/i" goto install
if "%1"=="/install" goto install
if "%1"=="/u" goto uninstall
if "%1"=="/uninstall" goto uninstall
if "%1"=="/v" goto version
if "%1"=="/version" goto version
goto help

::顯示幫助
:help
echo 用法: %~n0 [/h ^| /help ^| /i ^| /install ^| /u ^| /unstall ^| /v ^| /version ^| PHP_VERSION]
echo.
echo   沒有參數   設置php版本為php5.5
echo   /h         顯示幫助
echo   /help      顯示幫助,和/h相同
echo   /i         安裝到系統
echo   /install   安裝到系統,和/i相同
echo   /u         卸載
echo   /unstall   卸載,同/u
echo   /v         查看當前php版本
echo   /version   查看當前php版本,同/u
echo   52         設置php版本為php5.2
echo   53         設置php版本為php5.3
echo   53n        設置php版本為php5.3n
echo   55         設置php版本為php5.5
echo   55n        設置php版本為php5.5n
echo   70n        設置php版本為php7.0n
goto quit

::查看版本
:version
php --version
goto quit

::安裝
:install
echo 開始安裝..
if not exist %ins% copy %~f0 %ins%>nul
if %ERRORLEVEL% == 0 echo 安裝成功,打開命令提示符后輸入%~n0即可啟動
if %ERRORLEVEL% == 1 echo 安裝失敗,必須以管理員模式運行
goto quit

::卸載失敗
:uninstallerror
echo 卸載失敗,必須以管理員模式運行
goto quit

::卸載
:uninstall
copy %~f0 %ins%.bak>nul
if %ERRORLEVEL% == 1 goto uninstallerror
echo 卸載成功
del %ins%.bak>nul
if exist %ins% del %ins%

:quit

發表評論

電子郵件地址不會被公開。 必填項已用*標注

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據。