我无法运行命令编辑器安装。我得到的只是立即失败并出现分段错误,php 问题?
- 全新的MacBook Prop
- 操作系统 - 莫哈韦 10.14.5
- 菲律宾比索 - 7.3.7
- 符号 - 4.6.0
- PHP 是使用 brew 安装的,它是当前的稳定版本。
- Symfony是从他们的网站上安装的,通过curl使用安装程序。
- 作曲家我已经为该项目下载了本地。
组件安装的输出:
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
作曲家 -vvv 安装的输出:
帕斯特宾链接
我已经成功地让它在 Manjaro 和 Ubunutu 上运行,运行 PHP 7.3.7。
最可靠的信息来源来自 github 上的这个问题,表明这是一个 PHP 问题,可能是版本/构建问题。我的项目依赖于 PHP 7.2^。
更新- 已与brew install php@7.2
一起检查。同样的问题。
更新2- 找到此线程,尝试解决方案,但没有运气
更新 3- 我使用--no-plugins
标志运行composer install
,它现在正在下载依赖项。在此之前我也跑过clear-cache
,我不确定他们是携手合作还是只是--no-plugins
.这指向我的一个 PHP 插件,默认情况下安装它会导致内存违规问题。哪一个?谁知道呢。
更新4- 下载完成后仍然无法正常工作,我不得不在没有--no-plugin
标志的情况下再次运行composer install
。似乎正在工作。
我想我已经找到了解决方案。希望这对某人有所帮助:
我带着--no-plugins
旗跑composer install
。
下载完成后,我不得不在没有--no-plugins
标志的情况下再次运行composer install
。
编辑:这很好,直到添加依赖项时发现其他问题!事实证明卷曲是问题所在。
要解决,
brew remove curl-openssl --ignore-dependencies curl-openssl
brew install curl-ssl
就我而言,当我增加内存限制时,问题已解决。php.ini
将限制设置为 256MB,但是,我发现 brew 安装的某些 ini 已覆盖该限制并强制其为 128MB。
我将在下面列出我为解决问题而遵循的路径。
第 1 步— 计算实际内存限制:
php -i | grep memory_limit
第 2 步— 查找已用php.ini
文件路径:
php -i | grep "Loaded Configuration File"
步骤1 中的memory_limit
与我在步骤 2 中找到的文件中的memory_limit
不匹配。
我进一步查看,发现PHP加载的以下配置文件,结果是将memory_limit
覆盖为128MB:
/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
,即256MB。
希望它能帮助那些有同样问题的人。
注意:您的安装路径可能会有所不同,我在这里放置了与我的情况相匹配的示例,但您应该明白这一点。
我使用作曲家 2.x 并导致此问题 我的同事通过以下方式帮助我解决这个问题:
作曲家自我更新 --1
然后
作曲家更新 或 作曲家转储自动加载
如果你想让作曲家回到 2.x:
作曲家自我更新 --回滚
在 ph.ini p 中禁用 xdebug 扩展名并启用文件操作缓存(opcache.enable_cli = 1
和opcache.file_cache
设置为本地目录)后,我遇到了这个问题。似乎在禁用 xdebug 时必须删除这些 opcache 文件,否则缓存的 php 文件的任何执行都会导致分段错误(这是 PHP 7.4.10)。
只需将PHP版本从php 7.3更改为7.4 现在它为我工作
如果没有任何解决方案有效,请尝试禁用(如果您已启用 CLI 的操作缓存)opcache.enable_cli=1
在你的php.ini
.
这是参考资料。
内存故障。如果正在运行作曲家也尝试使用的文件夹或服务,则可能会发生这种情况。确保在运行作曲家之前关闭了任何此类文件夹窗口和应用程序。