Fragster
@Fragster
помогло? отметь решением!

Как заставить работать laravel 6.2 auth в чистой установке на iis?

Сделал все по инструкции (и не в первый раз, просто до этого были 5.х версии). Роуты со страницами отображаются, но при попытке регистрации или логина выдает просто пустое окно и статус 500.

При других ошибках (например если вызвать несуществующий view или User::count() до того, как миграции создадут таблицы) вылезает стандартный whoops с правильным стеком вызовов и прочим. Если вызывать ошибки php вне laravel, то в логи php исправно все попадает.
Сейчас же полная тишина, и в логах php и в логах iis и в логах laravel.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
Fragster
@Fragster Автор вопроса
помогло? отметь решением!
Все дело оказалось в неправильной настройке IIS. Ни один post запрос к ларавел не проходил. При установке php 7.2 через web platform installer, он почему-то устанавливает заодно и php 5.3. Выяснил это последовательно - сначала создал свой роут с вызовом и get и post запросом. Через get он открылся, а через post - нет. Тогда я поместил файл с phpinfo() рядом. При открытии через get он выдавал 7.2, через post 5.3. Выяснилось, что в web.config список методов для обработчика php 5.3 был через запятую без пробелов: GET,HEAD,POST, а для 7.2 - с пробелами: GET, HEAD, POST. Сделал одинаково (без пробелов) - laravel завелся. Видимо, с пробелами он не находил методов, кроме get, который был первым и искал следующий обработчик, и находил 5.3 В логах к 5.3 я потом нашел эти ошибки. Звездочку (*) в моем случае нельзя ставить, чтобы запросы options шли на cors собственный модуль iis, это используется в других местах. Кого-то этот вариант может это и устроить. К сожалению, через интерфейс поправить не удастся (только через "редактор конфигурации"), так как назначение обработчиков требует путь с пробелами забивать в кавычки, а обработчик fastCGI - без кавычек :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы