PHP / PHP Unit / Artisan / Laravel 在下一个可用端口上重启应用程序

PHP / PHP Unit / Artisan / Laravel restart app on next available port

我有一个使用 PHP 单元 运行ning 针对 laravel 应用构建的集成测试套件。 当测试失败时,应用程序不会关闭。当我再次 运行 测试时,它失败了,因为端口不可用。我进行了一些自定义验证,以确保 http://127.0.0.1:8000 上没有应用程序 运行ning。 如果那里有应用程序 运行ning,我执行以下命令 kill $(lsof -f -ti:8000),然后在该端口上终止应用程序 运行ning。伟大的!现在的问题是,laravel/artisan 在 10 范围内的下一个可用端口上启动一个新应用程序,例如 8000 到 8010。

如何停止使用 php artisan serve 启动的这个应用程序?

PS。 CMD + CCTRL + C 不是一个选项。

服务命令似乎有一个默认设置为 10 的尝试选项。我想你可以将它设置为 1 来实现你想要的结果。 在 vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php 中查看 getOptions 方法。

所以看起来你可以简单地做 php artisan serve --port=8000 --tries=1