Composer的安装很简单,直接到https://www.phpcomposer.com下载Composer-Setup.exe
,然后一路Next即可。
问题
不过,也有可能卡在第一步,我安装时就卡在这了,报如下图所示的错误:
通过查资料才知道是 Composer 与 Xdebug冲突了,官方的说法是:
To improve performance when the Xdebug extension is enabled, Composer automatically restarts PHP without it. You can override this behavior by using an environment variable: COMPOSER_ALLOW_XDEBUG=1.
Composer will always show a warning if Xdebug is being used, but you can override this with an environment variable: COMPOSER_DISABLE_XDEBUG_WARN=1.
大意说的是,当Xdebug启用时,Composer为了提高性能将自动重启php而不使用Xdebug,你可以通过修改环境变量修改这个行为。
安装
知道了问题的原因就好办了,我整理了下,一个有如下三个解决办法。
第一个办法是,直接到php.ini
中注释掉Xdebug模块,需要的时候再加回来,因为Composer和Xdebug一般不会同时使用,所以这个方法是可行的,只不过有点麻烦,每次使用时都要来回切换。
第二个是官方的办法,到环境变量中添加COMPOSER_ALLOW_XDEBUG=1
,如果想要进一步消除警告,就再添加COMPOSER_DISABLE_XDEBUG_WARN=1
,这个倒是一劳永逸,但官方也说了,这样做Composer的性能比较低。
因此,我更推荐第三个办法---手动安装,手动安装麻烦一些,但几乎没有缺点,主要步骤如下:
- 下载
phar
文件。到https://composer.p2hp.com/download/手动下载最新稳定版的composer.phar
文件,事实上,Composer-Setup.exe
安装后也是这样一个的单文件。 - 将
composer.phar
文件放到php
的安装根目录。 - 复制一份
php.ini
,并将xdebug
模块注释掉,保存为xdebug-disabled-php.ini
。 在
php
的安装根目录下创建一个compo.bat
(名称和composer
区分开就可以了),然后输入以下脚本:php -c "%~dp0xdebug-disabled-php.ini" "%~dp0composer.phar" %*
- 打开命令行窗口,输入
compo -V
命令,出现下图就说明安装成功了。
版本更新
虽然composer
安装完成了,但通常它可能不是最新的稳定版本,可以通过如下命令更新:
compo selfupdate
不过,这时可能会出现如下错误:
The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.
大意是composer
更新需要依赖openssl
扩展,我们直接编辑xdebug-disabled-php.ini
文件,将extension=openssl
前面的;
去掉,然后重新执行compo selfupdate
就可完成升级了,整体效果如下图所示:
当然,你也可以执行composer self-update --rollback
命令还原。
镜像加速
在国内通过Packagist 官方镜像安装依赖包可能会比较慢,这时可通过如下命令设置国内阿里云 composer
镜像加速。
compo config -g repo.packagist composer https://mirrors.aliyun.com/composer/
OK,搞定!这应该是最完美的解决方案了吧?
评论0
暂时没有评论