不同的项目中,可能会使用不同的php版本,在使用 composer 安装依赖时,如何指定不同的php版本呢?
比如平时开发时,使用的是 php 7.0版本,但是在按照 Laravel最新版本(5.6) 时就跑不同了。因为在Laravel 5.6中, 最低要求版本是 PHP 7.1.3.
查看默认PHP版本:
本机中默认PHP版本是7.0.30,命令地址是“/usr/local/bin/php”。
$which php
/usr/local/bin/php
$/usr/local/bin/php -v
PHP7.0.30(cli)(built:Jun22201800:52:06)(NTS)Copyright(c)1997-2017ThePHPGroupZendEnginev3.0.0,Copyright(c)1998-2017ZendTechnologieswithZendOPcachev7.0.30,Copyright(c)1999-2017,byZendTechnologies
安装PHP 7.2
在macOS系统中使用brew软件管理工具安装:
$ brew search php72
$ brew install php72
// 将命令路径复制一份到环境变量目录里:
$cp /usr/local/Cellar/php/7.2.7/bin/php /usr/local/bin/php72
查看php7.2:
$/usr/local/bin/php72 -v
PHP7.2.7(cli)(built:Jun22201806:29:00)(NTS)Copyright(c)1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologieswithZendOPcachev7.2.7,Copyright(c)1999-2018,byZendTechnologies
php72 的命令路径是我们上边指定的 “/usr/local/bin/php72”:
$which php72
/usr/local/bin/php72
下载 composer.phar 文件
phar类似java中的jar包,是一种压缩包,用来将多个 PHP 文件打包为一个文件。
$ wget https://getcomposer.org/download/1.6.5/composer.phar
下载好后,直接使用:
比如安装 “laravel/passport” 包:
// 直接使用默认php版本
$ composerrequirelaravel/passport
// 使用指定的php版本(php7.2)
$ php72 composer.pharrequirelaravel/passport
再看一下使用对比:
// php7.2全路径:
// 使用默认php版本:
$ composer update
// 使用指定php7.2版本:
$ /usr/local/bin/php72 composer.phar update
// 使用默认php版本:
$ composer install
// 使用指定php7.2版本:
$ php72 composer.phar install
在使用 php artisan 命令行时,也要使用 php72:
$ php72 artisan
参考链接: