首页 > 解决方案 > 带有 Psy shell 的 Laravel 8 交互式调试不起作用

问题描述

在 Laravel 7.x 中,我习惯于通过eval(\Psy\sh());输入代码进行交互式调试。升级到 Laravel 8 后,它似乎不再工作了。还有其他方法可以在 Laravel 8 中进行交互式调试吗?

标签: phplaravellaravel-8

解决方案


我在运行 Laravel 时也遇到了同样的问题php artisan serve。在我运行命令的同一个终端中,PsySH 断点eval(\Psy\sh());总是自动关闭。

经过一些试验和错误后,我现在能找到的唯一解决方案是通过 Laravel Tinker REPL 使用php artisan tinker. 因此,在 CLI 中,您可以使用以下代码向您创建的路由发出请求:

// The following '/foo' is the endpoint of the route you created
$request = \Illuminate\Http\Request::create('/foo', 'get');

app()->make(\Illuminate\Contracts\Http\Kernel::class)->handle($request);

然后你可以像往常一样使用 PsySH 进行交互式调试。


推荐阅读