Composer install, segmentation fault
我无法让 composer install 命令运行。我得到的只是一个分段错误的即时失败,php 问题?
- 全新 MacBook Prop
- 操作系统 - 莫哈韦 10.14.5
- PHP - 7.3.7
- Symfony - 4.6.0
- PHP 是使用 brew 安装的,它是当前的稳定版本。
- Symfony 是从他们的网站安装的,通过 curl 使用安装程序。
- 我为该项目在本地下载的作曲家。
编译器安装的输出:
1 2 3 4 5 | Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Prefetching 96 packages e??μ e?’¨ - Downloading (0%)[1] 4278 segmentation fault composer install |
composer -vvv install 的输出:
粘贴箱链接
我已经成功地在 Manjaro 和 Ubunutu 上运行它,运行 PHP 7.3.7。
最可靠的信息来源来自 github 上的这个问题,表明这是一个 PHP 问题,可能是版本/构建问题。我的项目依赖于 PHP 7.2^.
更新 - 用
更新 2 - 找到了这个线程,尝试了解决方案,但没有运气
UPDATE 3 - 我用
UPDATE 4 - 下载完成后仍然无法正常工作,我不得不再次运行
我想我已经找到了解决办法。希望这可以帮助某人:
我用
下载完成后,我不得不再次运行没有
编辑:在添加依赖项时发现其他问题之前,这很好而且很花哨!原来 curl 是问题所在。
解决,
1 2 | brew remove curl-openssl --ignore-dependencies curl-openssl brew install curl-ssl |
在我的情况下,当我增加内存限制时问题就解决了。
我将在下面列出我解决问题所遵循的路径。
Step 1 a€" 计算出实际的内存限制:
1 | php -i | grep memory_limit |
步骤 2 a€" 找到使用的
1 | php -i | grep"Loaded Configuration File" |
步骤 1 中的
我进一步查看并发现 PHP 加载的以下配置文件,结果将
第 3 步 a€" 我禁用了它:
1 | mv /usr/local/etc/php/7.2/conf.d/php-memory-limits.ini /usr/local/etc/php/7.2/conf.d/php-memory-limits.ini.bak |
然后终于确认第1步返回了我设置的正确的
希望对遇到同样问题的人有所帮助。
注意:您的安装路径可能会有所不同,我在此处放置了与我的情况相匹配的示例,但您应该明白这一点。
只需将 PHP 版本从 php 7.3 更改为 7.4
现在它为我工作
我使用 composer 2.x 并导致此问题
我的同事通过以下方式帮助我解决了这个问题:
作曲家自我更新--1
然后
作曲家更新
或者
作曲家转储自动加载
如果你想让 composer 回到 2.x:
作曲家自我更新--rollback
在 php.ini 中禁用 xdebug 扩展并启用文件 opcache(