我最近在 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),这让段错误对我来说更加混乱。