PHP / PHP Unit / Artisan / Laravel перезапустите приложение на следующем доступном порту - PullRequest
0 голосов
/ 20 марта 2020

У меня есть интеграционный тестовый костюм, созданный с использованием устройства PHP, работающего с приложением laravel. Когда тесты не пройдены, приложение не закрывается. Когда я снова запускаю тесты, он терпит неудачу, поскольку порт недоступен. Я добавил несколько пользовательских проверок, чтобы убедиться, что приложение не работает на http://127.0.0.1: 8000 . Если там работает приложение, я выполняю следующую команду kill $(lsof -f -ti:8000), которая затем уничтожает приложение, запущенное на этом порту. Большой! Теперь проблема в том, что laravel / artisan запускает новое приложение на следующем доступном порту в диапазоне 10, например, от 8000 до 8010.

Как я могу остановить это приложение, которое запускается с использованием php artisan serve?

PS. CMD + C или CTRL + C не вариант.

1 Ответ

1 голос
/ 21 марта 2020

Похоже, что команда serve имеет опцию try, которая по умолчанию установлена ​​в 10. Я полагаю, вы можете установить это в 1 для достижения результата, который вы после. Взгляните в vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php на метод getOptions.

Так что, похоже, вы можете просто сделать php artisan serve --port=8000 --tries=1

...