跳至正文

安装 PHP 世界里用于管理项目依赖的工具 Composer

  • 干货

下载 Composer

安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。

打开命令行并依次执行下列命令安装最新版本的 Composer:

1. 下载安装脚本 - composer-setup.php - 到当前目录

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

执行此命令下载下来的 composer-setup.php 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;

2. 执行安装过程

php composer-setup.php

此命令会下载最新版本的 composer.phar 文件到当前目录。

3. 删除安装脚本

php -r "unlink('composer-setup.php');"

局部安装

上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了!

全局安装

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,该目录也是 PHP 的安装目录,然后就能够在命令行窗口中直接执行 composer 命令了。

在命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面。

CentOS 7.6 须将 composer.phar 文件移动文件到 /usr/bin/ 目录下:

mv composer.phar /usr/bin/composer

最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号。

关于升级 Composer

如果你的系统中已经有可以正常使用的 Composer 了,说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可。

首先你要确定现有的 Composer 的安装目录,然后直接下载 composer.phar 文件

wget https://install.phpcomposer.com/composer.phar

将前面下载的 composer.phar 文件覆盖系统中已经安装的 composer.phar 文件即可。注意,有可能在安装时将 composer.phar 改名为 composer 了,注意用同样的名字覆盖即可。

更改 Packagist 为中国全量镜像

执行如下命令,将配置信息添加到 Composer 的全局配置文件 config.json 中:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

更改 Packagist 为阿里云全量镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

更改 Packagist 为华为云全量镜像:

composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/

如果需要解除镜像并恢复到 packagist 官方源,请执行以下命令:

composer config -g --unset repos.packagist

执行之后,composer 会利用默认值(也就是官方源)重置源地址。

OK,一切搞定!试一下 composer install 来体验飞一般的速度吧!

最后

提示:不要忘了经常执行 composer self-update 以保持 Composer 一直是最新版本哦!

关于putenv()函数导致 Composer 更新失败

PHP 7.3 默认配置中禁用了putenv()函数,运行 Composer 时会出现如下报错:

PHP Warning:  putenv() has been disabled for security reasons in phar:///usr/bin/composer/vendor/composer/xdebug-handler/src/Process.php on line 149

Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/vendor/composer/xdebug-handler/src/Process.php on line 149
PHP Warning:  putenv() has been disabled for security reasons in phar:///usr/bin/composer/bin/composer on line 57

Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/bin/composer on line 57

原有是由于putenv() 函数设置特定的环境变量有可能是一个潜在的安全漏洞,所以这个函数在php配置文件中是默认禁止的。

解决办法:

在 php.ini 中查找 disable_functions ,或者直接查找 putenv,然后将此函数删除掉,重载配置即可。

标签: