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

发布于 2019-12-28 09:48:37

在不同的项目中,可能会使用不同的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
PHP 7.0.30 (cli) (built: Jun 22 2018 00:52:06) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.30, Copyright (c) 1999-2017, by Zend Technologies
安装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
PHP 7.2.7 (cli) (built: Jun 22 2018 06:29:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies
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版本
$ composer require laravel/passport

// 使用指定的php版本(php7.2)
$ php72 composer.phar require laravel/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

0 条评论

发布
问题

官网
微信

官方微信