多版本php环境,指定composer 使用的php版本

背景:有的人一台服务搞好几个PHP版本,麻烦,建议用Docker隔离~
由于系统环境变量之前同事安装的laravel是5.1...php默认的环境变量是:

不想破话原有环境变量,因为现在新的项目是laravel5.4.。。所以在用默认composer require安装时提示php版本过低滴问题
问题是这样滴:

默认composer安装会调用原来的php5.5环境变量,所以这里安装会出现兼容问题
新项目使用的是php7.1

那么如何在多个php版本中互不干扰安装composer呢

阅读 30k
7 个回答

1:下载composer.phar,官网有直接下载的链接,https://getcomposer.org/downl...

2:composer.phar 复制到项目根目录,比如我的是:/home/www/web

3:执行 /usr/local/php7/bin/php composer.phar update (这里我的安装路径是/usr/local/php7/bin/php,不一定适合你额,请对号入座即可吧)

4:安装依赖包:/usr/local/php7/bin/php composer.phar require laravel/scout

composer 使用的是“环境变量”里面的php,所以你执行

php -v
看一下系统的php的解析器的版本。你如果想用php7的话就把php7的解析器放到“系统变量”里面

建两个composer,一个叫composer 别一个叫composer7,指定php7绝对地址
composer

@echo OFF
:: in case DelayedExpansion is on and a path contains ! 
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*

composer7

@echo OFF
:: in case DelayedExpansion is on and a path contains ! 
setlocal DISABLEDELAYEDEXPANSION
D:\wamp64\bin\php\php7.0.0\php "%~dp0composer.phar" %*
将composer局部安装 将打包文件放置在当前项目的根目录下
/path/to/php7.1 composer.phar [command]
新手上路,请多包涵

怎么直接将php7也加入环境变量,也就是说 php -v 之前的版本,php7 -v 显示新版本

composer就是一段PHP代码,你看看它的运作原理就知道了

composer.phar

#!/usr/bin/env php
<?php
....

ubuntu上 切换php默认版本

sudo update-alternatives --config php
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题