Laravel 5.5 中的段错误

Segfaults in Laravel 5.5

我最近在 Laravel 5.5 开始了一个小项目。我将我的 Homestead 盒子更新到最新版本。

在编写测试时,如果我拼错了断言方法,我会遇到段错误,我在 github 存储库上创建了一个问题,可以在 https://github.com/laravel/framework/issues/20925[=17= 找到]

问题现已关闭,理所当然,这是我的错误(asertPushedOn() 而不是 assertPushedOn())。

但是我最近遇到了另一个段错误,这又是我的错误(尝试预加载时错误命名的关系),但问题是,这在 5.5 之前从未发生过。现在,似乎当我把事情搞砸时,我会随机出现段错误。我在日志中找不到任何有助于调试它们的东西(Laravel 日志文件或 nginx 错误日志。

我收到的唯一错误消息是 Segmentation fault (core dumped),它没有告诉我任何信息。

在问题报告中,它提到 xdebug 转储了错误。我有 laravel homestead xdebug 的 google,但只能找到 phpstorm 的资源(我是 sublime 用户)。

TL;DR:

1) 在 Laravel 5.5 中更新了宅基地框,如果我在某个地方搞砸了,我现在会遇到 php 段错误。这是 5.5/homestead 的变化吗?

2) 如何启用 xdebug(这实际上有助于调试段错误)吗?

3) 如果 xdebug 不是答案,我如何停止获取或从段错误中获取更多默认调试信息?

正如我创建的问题中提到的,我对段错误了解不多。

如果您需要任何进一步的信息,请告诉我

编辑

我成功启用了 xdebug:

sudo phpenmod xdebug
sudo service nginx restart
php -m

但我一直无法重现段错误(启用和不启用 xdebug),这让段错误对我来说更加混乱。

因此,虽然我无法重现原始段错误,但在未启用 xdebug 时确实发生了另一个错误。

当我启用 xdebug 时:

sudo phpenmod xdebug
sudo service nginx restart

并重新运行给我段错误的脚本,我成功地得到了递归错误,文件名和行号解决了它。