symfony Composer安装,分段故障

cqoc49vn  于 2023-03-09  发布在  其他
关注(0)|答案(6)|浏览(196)

我无法运行命令composer install。我得到的只是一个即时失败的分段错误,php问题?

  • 全新的MacBook Prop
  • 操作系统-莫哈韦10.14.5
  • PHP操作系统
  • Symfony - 4.6.0版本
  • PHP是使用brew安装的,它是当前的稳定版本。
  • Symfony是从他们的网站安装的,通过curl使用那里的安装程序。
  • composer 我已经下载本地的项目。

组件安装的输出:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file

Prefetching 96 packages 🎵 💨
  - Downloading (0%)[1]    4278 segmentation fault  composer install

composer -vvv安装的输出:
Pastebin Link
我已经成功地在Manjaro和Ubuntu上运行了PHP 7.3.7。
最可靠的信息来源是from this issue on github,表明这是一个PHP问题,可能是版本/构建问题。

更新-使用brew install php@7.2检查。相同问题。
更新2-Found this thread,尝试过解决方案,但没有成功
UPDATE 3-我运行了带有--no-plugins标志的composer install,它现在正在下载依赖项。在此之前我也运行了clear-cache,我不确定它们是一起工作的还是仅仅是--no-plugins。这指向了我的一个PHP插件,它默认安装为导致内存冲突的问题。是哪一个?谁知道呢。
更新4-下载完成后仍然不工作,我不得不再次运行没有--no-plugin标志的composer install。似乎工作。

n3schb8v

n3schb8v1#

我想我已经找到了解决办法。希望这能帮助到一些人:
我使用--no-plugins标志运行了composer install
下载完成后,我不得不再次运行没有--no-plugins标志的composer install
编辑:这是很好的和花花公子,直到其他问题曝光时,添加依赖项!原来 curl 是问题所在。
为了解决,

brew remove curl-openssl --ignore-dependencies curl-openssl
brew install curl-ssl
ztigrdn8

ztigrdn82#

在我的例子中,当我增加内存限制时,这个问题就解决了。php.ini的限制设置为256 MB,但是,我发现Brew安装的一些ini已经覆盖了这个限制,并强制它为128 MB。
我将在下面列出我修复问题的方法。

步骤1-计算实际内存限制:

php -i | grep memory_limit

步骤2-查找使用的php.ini文件路径:

php -i | grep "Loaded Configuration File"

步骤1中的memory_limit与我在步骤2中找到的文件中的memory_limit不匹配。
我进一步查看,发现PHP加载的以下配置文件,原来是覆盖memory_limit到128 MB:
/usr/local/etc/php/7.2/conf.d/php-memory-limits.ini

步骤3-我禁用了它:

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返回正确的memory_limit我设置,这是256 MB。
希望对那些有同样问题的人有所帮助。

**注意:**您的安装路径可能会有所不同,我在这里列出了与我的情况相匹配的示例,但您应该明白了。

zqry0prt

zqry0prt3#

我使用Composer 2.x并导致此问题,我的同事通过以下方式帮助我解决此问题:
编写器自更新--1
那么
编写器更新或编写器转储-自动加载
如果您希望composer返回到2.x:
编写器自更新-回滚

a14dhokn

a14dhokn4#

在php.ini中禁用xdebug扩展并启用opcache文件(opcache.enable_cli = 1opcache.file_cache设置为本地目录)后,我遇到了这个问题.看起来当xdebug被禁用时,这些opcache文件必须被删除,否则任何缓存php文件的执行都将导致分段错误(PHP 7.4.10).

pprl5pva

pprl5pva5#

只是改变PHP版本从php 7.3到7.4现在它为我工作

xfyts7mz

xfyts7mz6#

如果解决方案都不起作用,请尝试禁用php.ini中的opcache.enable_cli=1(如果您已经为cli启用了opcache)。
Here's参考。

相关问题