Windows命令行 - 多个PHP版本

时间:2013-03-25 14:32:00

标签: php windows command-line wamp

我目前正在运行带有多个PHP版本的Wampserver(5.3.8,5.4.3)。 Wampserver轻松允许您在希望apache使用的php版本之间来回切换。但是,我在从CLI处理多个版本时遇到了麻烦。我有需要命令行的项目,但有些与php5.4兼容,而有些则不兼容。

有没有办法在Windows中创建某种类型的“别名”,允许我指定在命令行上使用哪个版本的PHP .. IE:“php54 cache:clear”,“php53 cache:clear”? ?

谢谢!

4 个答案:

答案 0 :(得分:3)

非常简单。

创建一个批处理文件以将php添加到路径中,将该文件放在PATH中当前的一个文件夹中,以便您可以从任何位置运行它。 然后,只要您在任何包含CLI脚本的文件夹中,就运行批处理文件

批处理文件示例:

让我们称之为PHPPATH.CMD

path=%path%;c:\wamp\bin\php\php5.4.11
php -v

现在,如果您想使用另一个版本的PHP CLI,只需更改批处理文件,或者如果您感觉很聪明,请让批处理文件接受参数,这样您就可以在路径上指定所需的php版本。

答案 1 :(得分:1)

我正在做类似下面的事情。

例如我有两个php版本,PHP 5.6和PHP 7.3

我有沼泽环境,所以我做了如下

所以我已经将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

然后我将它们都添加到如下所示的环境变量路径中。

enter image description here

现在您需要重新打开cmd,然后可以使用以下命令

php56 -v
php7 -v

我希望这会有所帮助

答案 2 :(得分:0)

如果可以的话,只需创建别名

别名'php56'='/ Path / To / php5.6 / bin / php'; 别名'php55'='/ Path / To / php5.5 / bin / php';

否则,请在指向二进制文件的单独目录中创建链接

php56是 /Path/To/php5.6/bin/php

的链接

php55是 /Path/To/php5.5/bin/php

的链接

将它们放入/ Seperate / Path /并将'/ Seperate / Path /'添加到%PATH%

希望这会有所帮助

答案 3 :(得分:0)

我已经搜索了如何真正轻松地做到这一点,而无需使用命令行更改环境变量路径(因为它的字符限制),并且找到了这种解决方案(仅在Windows 10上): 在您的环境变量路径中,在[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%

现在您可以在cmd中运行您的批处理文件,甚至不必在以后重新启动它。