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,搞定!这应该是最完美的解决方案了吧?
相关推荐
- PHP如何基于Docker安装OpenSSL扩展 2024-12-30
- PHP中函数内部如何使用函数外部的变量 2024-02-29
- PHP中的EOF是什么意思,该如何使用 2024-02-06
- PHP连接MySql数据库 2024-02-06
- PHP中TS和 NTS有什么区别,该如何选择 2024-02-06
评论0
暂时没有评论