我目前正在运行Wampserver,并使用多个PHP版本(5.3.8, 5.4.3)。Wampserver可以轻松让您在所需的apache中切换php版本,但是我在处理CLI中的多个版本时遇到了麻烦。 我有一些需要命令行的项目,但其中一些与php5.4兼容,而另一些则不兼容。
是否有一种在Windows中创建某种"别名"的方法,可以让我指定在命令行上使用哪个PHP版本,例如:"php54 cache:clear","php53 cache:clear"?
谢谢!
我目前正在运行Wampserver,并使用多个PHP版本(5.3.8, 5.4.3)。Wampserver可以轻松让您在所需的apache中切换php版本,但是我在处理CLI中的多个版本时遇到了麻烦。 我有一些需要命令行的项目,但其中一些与php5.4兼容,而另一些则不兼容。
是否有一种在Windows中创建某种"别名"的方法,可以让我指定在命令行上使用哪个PHP版本,例如:"php54 cache:clear","php53 cache:clear"?
谢谢!
我正在执行以下操作。
例如,我有两个 PHP 版本,PHP 5.6 和 PHP 7.3。
我有一个 WAMP 环境,所以我按照以下步骤进行了设置。
我将 D:\wamp\bin\php\php7.3.6\php.exe 复制到 D:\wamp\bin\php\php7.3.6\php7.exe
然后,我将 D:\wamp\bin\php\php5.6\php.exe 复制到 D:\wamp\bin\php\php5.6\php56.exe
接下来,我把它们都添加到环境变量路径中,如下所示。
现在,您需要重新打开命令提示符,并可以使用类似以下的命令。
php56 -v
php7 -v
您还可以在打开的cmd中运行命令refreshenv以重新加载环境变量。
如果您想更改默认的php版本,可以按以下方式移动路径。
例如,如果您想将php 7.0.23作为默认版本而不是php 7.3.6,则如下所示。
在上面的屏幕截图中,我已将php 7.0.23移动到所有其他php版本(php 7.3.6和php 5.6.31)之上。
希望这会有所帮助。
[D:\wamp64\bin\php\"your php version"]
更改为[D:\wamp64\bin\php\php]
然后,在管理员模式下在cmd中运行以下命令,在您的php版本目录和D:\wamp64\bin\php\php
之间创建一个联接:
mklink /J D:\wamp64\bin\php\php D:\wamp64\bin\php\php"your php version"
然后,您可以使用此批处理文件。echo off
::read the actual php version
::(read the second word of php -v output )
for /f "tokens=2" %%i in ('php -v') do (
::if actual version is 7.4.0 I want 7.4.1
if "%%i"=="7.4.0" set phpV="7.4.1"
::if actual version is 7.4.1 I want 7.4.0
if "%%i"=="7.4.1" set phpV="7.4.0"
)
::delete the old junction
rmdir "D:\wamp64\bin\php\php"
::create a new one to the version I want
::!!!!!!!!!!!!!!!!!!! paths must not contains spaces
mklink /J D:\wamp64\bin\php\php D:\wamp64\bin\php\php%phpV%
path=%path%;c:\wamp\bin\php\php5.4.11
php -v