0

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

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

这个问题现在已经解决了,这是我的错误(asertPushedOn()而不是assertPushedOn())。

但是我最近遇到了另一个段错误,再次,这是我的错误(尝试 eagerload 时错误命名关系),但问题是,这在 5.5 之前从未发生过。现在,似乎当我把事情搞砸时,我会随机出现段错误。我在日志(Laravel 日志文件或 nginx 错误日志。

我得到的唯一错误消息是Segmentation fault (core dumped)它什么也没告诉我。

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

TL;博士:

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

2)我怎样才能启用xdebug(这实际上有助于调试segfaults)?

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

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

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

编辑

我设法通过以下方式启用 xdebug:

sudo phpenmod xdebug
sudo service nginx restart
php -m

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

4

1 回答 1

1

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

当我使用以下命令启用 xdebug 时:

sudo phpenmod xdebug
sudo service nginx restart

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

于 2017-09-07T08:34:17.373 回答