6

私は現在、複数のPHPバージョン(5.3.8、5.4.3)でWampserverを実行しています。Wampserverを使用すると、apacheで使用するphpバージョンを簡単に切り替えることができます。ただし、CLIから複数のバージョンを処理するのに問題があります。コマンドラインを必要とするプロジェクトがありますが、php5.4と互換性のあるものもあれば、互換性のないものもあります。

コマンドラインで使用するPHPのバージョンを指定できるWindowsで何らかのタイプの「エイリアス」を作成する方法はありますか..IE: "php54 cache:clear"、 "php53 cache:clear" ??

ありがとう!

4

4 に答える 4

17

私は以下のようなことをしています。

元。私は2つのphpバージョン、PHP5.6とPHP7.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にコピーしました

次に、以下のように両方を環境変数パスに追加しました。

ここに画像の説明を入力してください

ここで、cmdを再度開く必要があり、次のようなコマンドを使用できます。

php56 -v
php7 -v

コマンドrefreshenvを実行して、開いているcmdで環境変数を再ロードすることもできます。

デフォルトのphpバージョンを変更したい場合は、以下のようにパスを移動できます。

たとえば、php7.3.6の代わりにphp7.0.23をデフォルトとして使用する場合

たとえばスクリーンショットを参照してくださいここに画像の説明を入力してください

上記のスクリーンショットでは、php 7.0.23を他のすべてのphpバージョン(php7.3.6およびphp5.6.31)の上に移動しています。

これがお役に立てば幸いです。

于 2019-10-09T13:27:28.103 に答える
1

とてもシンプルです。

パスにphpを追加するバッチファイルを自分で作成し、そのファイルを現在PATH上にあるフォルダーの1つに配置して、どこからでも実行できるようにします。次に、CLIスクリプトが含まれているフォルダーにいるときはいつでも、バッチファイルを実行します。

バッチファイルの例:

それをPHPPATH.CMDと呼びましょう

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

これで、別のバージョンのPHP CLIを使用する場合は、バッチファイルを変更するか、賢い場合は、バッチファイルにパラメーターを受け入れさせて、パスに必要なphpのバージョンを指定できるようにします。

于 2013-04-27T01:35:33.193 に答える
1

それができる場合は、エイリアスを作成するだけです。

エイリアス'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%に追加します

お役に立てれば

于 2018-11-27T14:48:15.070 に答える
1

コマンドラインで環境変数のパスを変更せずに(文字数が制限されているため)本当に簡単にそれを行う方法を検索し、この解決策を見つけました(Windows 10のみ):環境変数のパスで[D:\wamp64\bin\php\"your php version"][D:\wamp64\bin\php\php]

次に、phpバージョンディレクトリ間にジャンクションを作成し、D:\wamp64\bin\php\php管理者としてcmdでこのコマンドを実行します。 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でバッチファイルを実行でき、後で再起動する必要もありません。

于 2020-08-24T17:31:20.960 に答える