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

时间:2016-10-05 19:12:55

标签: php laravel nginx composer-php wamp

我已经使用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版本?

2 个答案:

答案 0 :(得分:8)

真的有三种方法可以做到这一点。

.bashrc中创建一个别名,以便始终使用相应的版本

运行composer

alias ncomposer=`/path/to/php /path/to/composer.phar `

这样的东西

composer.phar本身

中指定PHP版本的路径

这是在文件开头指定的:#!/path/to/php php。然后作曲家应该使用composer.phar

运行

NB!自行更新后该行会消失,因此它不是一个可靠的解决方案。

使用最新的PHP版本

向上移动路径

如果先放置C:\nginx\php,则在使用composer时默认使用它。

希望这有帮助!

答案 1 :(得分:0)

尽管此问题已解决,但答案并没有帮助我。我将说明如何设法使composer在PHP版本中工作,该版本与默认情况下在我的OS(PHP 7.1.1)以及我的环境变量中安装的版本不同(这些不会改变了!)。请注意,我使用的是Xampp,但是Wamp的原理仍然相同。

  • this answer开始:

    1. 启动Git Bash
    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并更新您添加的所有功能。 注意两个点之间的空格


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

composer733 [whatever you wan]

示例:在至少需要PHP 7.1.3的项目中

  1. 使用 composer

    $ 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
    

它可以工作,而无需更改环境变量