更改 Composer 在 Windows 上使用的 PHP 版本

Change PHP version used by Composer on Windows

我已经将 WAMP 2.5 与 PHP 5.5.12 和 Composer 一起使用。 php 开启:

C:\wamp\bin\php\php5.5.12

对于新项目,我需要使用nginx并安装PHP 7. php 开启:

C:\nginx\php

现在,使用 GitBash MINGW32,我尝试使用 Composer create-project 安装 laravel 5.3,但它说

[InvalidArgumentException]
Could not find package laravel/laravel with version 5.3 in a version 
installable using your PHP version 5.5.12.

我已经将 C:\wamp\bin\php\php5.5.12C:\nginx\php 都放在了 Windows 系统 PATH 变量中。

如何更改 Composer 使用的 PHP 版本?

三种方法,真的。

.bashrc 中创建一个别名,以始终 运行 具有相应版本的作曲家

类似于alias ncomposer=`/path/to/php /path/to/composer.phar `

composer.phar 本身中指定 PHP 版本的路径

这是在文件开头指定的:#!/path/to/php php。那么作曲家应该 运行 和 composer.phar

注意!该行会在自我更新时消失,所以这不是一个可靠的解决方案。

使用最新的PHP版本

向上移动路径

如果把C:\nginx\php放在前面,使用composer时应该默认使用

希望对您有所帮助!

虽然这个问题解决了,但是答案对我没有帮助。我将解释我是如何使 composer 在 PHP 的版本中工作的,该版本不同于默认安装在我的 OS 上的版本 (PHP 7.1.1)以及我的环境变量(这些不会改变!)。请注意,我使用的是 Xampp,但 Wamp 的原理保持不变。

  • this answer开始:

    1. 启动GitBash
    2. 键入 cd ~/ 转到您的主文件夹
    3. 键入 touch .bash_profile 以创建新文件。
    4. 使用您最喜欢的编辑器编辑 .bash_profile

  • 在我的例子中,我在 xampp 文件夹中有一个名为 php733 的文件夹,它对应于 PHP 7.3.3。这是帮助我创建别名的 this other answer :

    alias composer733='/c/[xampp folder]/php733/php.exe /c/ProgramData/ComposerSetup/bin/composer.phar '
    

    然后,键入 . .bash_profile 以重新加载 .bash_profile 并更新您添加的任何功能。 注意两个点之间的 space !


最后,在 Git Bash 中键入此命令:

composer733 [whatever you wan]

示例 : 在至少需要 PHP 7.1.3

的项目中
  1. 使用 作曲家 :

    $ composer update
    This package requires php ^7.1.3 but your HHVM version does not satisfy that requirement.
    
  2. 使用composer733(我创建的别名):

    $ composer733 update
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 98 installs, 0 updates, 0 removals
      - Installing [...] (v1.11.0): Loading from cache
    

有效,无需更改环境变量