在Laravel7.x中,我习惯于通过在代码中放入eval(\Psy\sh());来进行交互调试。在升级到Laravel 8之后,它似乎不再工作了。在Laravel 8中有没有其他方法可以进行交互式调试?
发布于 2021-01-26 11:05:06
我还没有找到一个合适的解决方案。所以,问题出在here上。artisan serve方式的新方法是创建一个进程,当您尝试使用Psy时,它会创建一个新进程。
(standard input):198: 434 ?? 0:11.07 /usr/local/opt/php/sbin/php-fpm --nodaemonize
(standard input):406:80139 ?? 0:00.00 /usr/local/opt/php/sbin/php-fpm --nodaemonize
(standard input):407:80214 ?? 0:00.00 /usr/local/opt/php/sbin/php-fpm --nodaemonize
(standard input):419:79506 ttys000 0:13.80 nvim app/Http/Controllers/UsersController.php
(standard input):422:80288 ttys001 0:00.19 php artisan serve
(standard input):423:80292 ttys001 0:02.66 /usr/local/Cellar/php/8.0.1/bin/php -S 127.0.0.1:8000 /server.php
(standard input):424:80387 ttys001 0:00.00 (php)
(standard input):425:80436 ttys001 0:00.00 (php)最后两个PID是我试图运行的Psy中的两个。
您可以看到,我派生了symfony,并将值更改为true。这将允许您再次像以前一样工作。为了摆脱这个过程,CTRL+D。
如果版本较低,您可以查看此one
但是,请注意,这在只读环境中可能是一个问题。
https://stackoverflow.com/questions/64020180
复制相似问题