安装Composer,并解决与Xdebug的冲突问题

2024-04-19

775

1

Composer的安装很简单,直接到https://www.phpcomposer.com下载Composer-Setup.exe,然后一路Next即可。

问题

不过,也有可能卡在第一步,我安装时就卡在这了,报如下图所示的错误:

通过查资料才知道是 ComposerXdebug冲突了,官方的说法是:

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模块,需要的时候再加回来,因为ComposerXdebug一般不会同时使用,所以这个方法是可行的,只不过有点麻烦,每次使用时都要来回切换。

第二个是官方的办法,到环境变量中添加COMPOSER_ALLOW_XDEBUG=1,如果想要进一步消除警告,就再添加COMPOSER_DISABLE_XDEBUG_WARN=1,这个倒是一劳永逸,但官方也说了,这样做Composer的性能比较低。

因此,我更推荐第三个办法---手动安装,手动安装麻烦一些,但几乎没有缺点,主要步骤如下:

  1. 下载 phar文件。到https://composer.p2hp.com/download/手动下载最新稳定版的composer.phar文件,事实上,Composer-Setup.exe安装后也是这样一个的单文件。
  2. composer.phar文件放到php的安装根目录。
  3. 复制一份php.ini,并将xdebug模块注释掉,保存为xdebug-disabled-php.ini
  4. php的安装根目录下创建一个compo.bat(名称和composer区分开就可以了),然后输入以下脚本:

    php -c "%~dp0xdebug-disabled-php.ini" "%~dp0composer.phar" %*
  5. 打开命令行窗口,输入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,搞定!这应该是最完美的解决方案了吧?

相关推荐

  1. PHP如何基于Docker安装OpenSSL扩展 2024-12-30
  2. PHP中函数内部如何使用函数外部的变量 2024-02-29
  3. PHP中的EOF是什么意思,该如何使用 2024-02-06
  4. PHP连接MySql数据库 2024-02-06
  5. PHP中TS和 NTS有什么区别,该如何选择 2024-02-06

本文作者: 老朱

原文链接: 安装Composer,并解决与Xdebug的冲突问题

版权声明: 本站所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

免责声明: 文中如涉及第三方资源,均来自互联网,仅供学习研究,禁止商业使用,如有侵权,联系我们24小时内删除!

PHP Composer

评论0

😊 😃 😄 😁 😆 😅 😂 🤣 🙂 🙃 😉 😇 😏 😌 😍 😘 😗 😙 😚 😋 😛 😜 😝 😒 😔 😖 😞 😟 😠 😡 😳 😨 😰 😥 😢 😭 😱 😲 😵 😷 🤒 🤕 🤢 😴 🤤 😪 😫 😬 😮 🤲 🤜 🤛 🤚 🤝 🙏 🤞 🤟 🤘 🤙 👌 👍 👎 👊 👏 🙌 👐 💪

暂时没有评论