я использую Lumen 5.4
,
Вот как настроен мой маршрут:
$app->get('/ip/{ip}', GeoIpController::class . '@show');
{ip}
Параметр маршрута должен быть IP-адресом с точками. Однако, кажется, что есть проблема, когда на маршруте есть точки. Возвращает 404 не найденную ошибку.
Я знаю, что мог бы передать IP-адрес как простой GET
параметр запроса, но хотите, чтобы IP был частью URL и обрабатывался как параметр маршрута.
Для тестирования я использую php -S localhost:8080 -t public
подать заявку.
Это ограничение для встроенного в PHP сервера, а не для Lumen (или Laravel, или Slim, или любых других фреймворков / приложений с маршрутизатором). Вы можете просмотреть Отчет об ошибках PHP здесь.
По сути, если URL-адрес имеет точку в URL после имени скрипта, встроенный сервер обрабатывает запрос как статический запрос файла и фактически никогда не пытается выполнить приложение.
Этот запрос должен нормально работать на реальном веб-сервере (apache, nginx), но он не будет работать при запуске на встроенном веб-сервере разработки PHP.
Других решений пока нет …