Search code examples
phplaravelnginxcomposer-phpwamp

Change PHP version used by Composer on Windows


I have already use WAMP 2.5 with PHP 5.5.12, and with Composer. The php is on:

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

For new project, I need to use nginx and installed PHP 7. The php is on:

C:\nginx\php

Now, using GitBash MINGW32, I tried to install laravel 5.3 using Composer create-project but it said

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

I already put both C:\wamp\bin\php\php5.5.12 and C:\nginx\php on Windows System PATH variable.

How do I change the PHP version used by Composer?


Solution

  • Three ways to do this, really.

    Create an alias in .bashrc to always run composer with the corresponding version

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

    Specify the path to PHP version inside composer.phar itself

    This is specified at the start of the file: #!/path/to/php php. Then composer should run with composer.phar

    NB! The line will disappear upon self-update, so it's not a reliable solution.

    Move up the path with the newest PHP version

    If you place C:\nginx\php first, it should be used by default when using composer.

    Hope this helps!