我无法运行命令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
。似乎工作。
6条答案
按热度按时间n3schb8v1#
我想我已经找到了解决办法。希望这能帮助到一些人:
我使用
--no-plugins
标志运行了composer install
。下载完成后,我不得不再次运行没有
--no-plugins
标志的composer install
。编辑:这是很好的和花花公子,直到其他问题曝光时,添加依赖项!原来 curl 是问题所在。
为了解决,
ztigrdn82#
在我的例子中,当我增加内存限制时,这个问题就解决了。
php.ini
的限制设置为256 MB,但是,我发现Brew安装的一些ini已经覆盖了这个限制,并强制它为128 MB。我将在下面列出我修复问题的方法。
步骤1-计算实际内存限制:
步骤2-查找使用的
php.ini
文件路径:步骤1中的
memory_limit
与我在步骤2中找到的文件中的memory_limit
不匹配。我进一步查看,发现PHP加载的以下配置文件,原来是覆盖
memory_limit
到128 MB:/usr/local/etc/php/7.2/conf.d/php-memory-limits.ini
步骤3-我禁用了它:
然后最后确认步骤1返回正确的
memory_limit
我设置,这是256 MB。希望对那些有同样问题的人有所帮助。
**注意:**您的安装路径可能会有所不同,我在这里列出了与我的情况相匹配的示例,但您应该明白了。
zqry0prt3#
我使用Composer 2.x并导致此问题,我的同事通过以下方式帮助我解决此问题:
编写器自更新--1
那么
编写器更新或编写器转储-自动加载
如果您希望composer返回到2.x:
编写器自更新-回滚
a14dhokn4#
在php.ini中禁用xdebug扩展并启用opcache文件(
opcache.enable_cli = 1
和opcache.file_cache
设置为本地目录)后,我遇到了这个问题.看起来当xdebug被禁用时,这些opcache文件必须被删除,否则任何缓存php文件的执行都将导致分段错误(PHP 7.4.10).pprl5pva5#
只是改变PHP版本从php 7.3到7.4现在它为我工作
xfyts7mz6#
如果解决方案都不起作用,请尝试禁用
php.ini
中的opcache.enable_cli=1
(如果您已经为cli启用了opcache)。Here's参考。