#php #windows #symfony #url #iis
Вопрос:
так что в настоящее время я сталкиваюсь с проблемой.
- IIS 10 и Symfony 5
Я пытаюсь развернуть свое приложение symfony на сервере Microsoft.
Поэтому я сталкиваюсь с ошибкой 500, см. экран
И файл web.config
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="Rewriter" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{R:1}" pattern="^(index\.php|favicon\.ico)" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="./index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
Я указал свой сайт на общедоступный файл.
Включена анонимная аутентификация.
очистите кэш в dev и prod уже сделано
Кажется, он находит страницу, но не может получить к ней доступ или что-то в этом роде. Если у кого-то есть какие-то зацепки, это может помочь, так как я занимаюсь этим уже 3 дня. Спасибо
ПРАВКА 1 :
Когда я набираю этот URL-адрес
Он понимает, что должен позвонить ей контролеру
[2021-08-06T12:49:37.795538 00:00] запрос.ИНФОРМАЦИЯ: Согласованный маршрут «вход». {«route»:»login»,»route_parameters»:{«_route»:»login»,»_controller»:»AppControllerDynamicConnectionController::index»},»request_uri»:»http://192.168.1.87:89/login»,»method»:»GET»} []
Может быть, это проблема с неправильной настройкой PHP?
Изменить 2
Решение от samwu
Измените время активности на 600 и перезапустите сервер.
Не сработало
Правка 3 :
Наконец, я изменил файл web.config на
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewriter" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="./index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
И я внес изменения, как предложил samwu, и знаю, что у меня новая ошибка, на этот раз касающаяся Mysql.
Предупреждение PHP: Неперехваченное исключение PDO: PDO::__construct(): Ошибка при чтении пакета приветствия. PID=12136 в C:inetpubwwwrootlasernetSymfonyvendordoctrinedballibDoctrineDBALDriverPDOConnection.php:39
И
Следующее исключение PDO: SQLSTATE[HY000] [2006] Сервер MySQL исчез в C:inetpubwwwrootlasernetSymfonyvendordoctrinedballibDoctrineDBALDriverPDOConnection.php:39
И
Фатальная ошибка PHP: Максимальное время выполнения в 30 секунд превышено в C:inetpubwwwrootlasernetSymfonyvendordoctrinedballibDoctrineDBALDriverPDOConnection.php на линии 42
Однако моя база данных mysql хорошо доступна, база данных работает правильно, когда я запускаю приложение Symfony локально.
Комментарии:
1. Ошибка 500 является общим сообщением об ошибке и охватывает практически все, что может пойти не так с PHP-скриптом. Проверьте журналы ошибок вашего сервера, чтобы узнать точное сообщение об ошибке.
Ответ №1:
Эта проблема должна быть вызвана таймаутом FastCGI, попробуйте выполнить следующие действия, чтобы решить проблему:
- Откройте диспетчер iis.
- выберите функцию быстрой настройки CGI.
- выберите свою версию php-cgi.exe и нажмите «Изменить» на панели действий.
- установите значение тайм-аута 600 действий.
После внесения всех изменений вам необходимо перезапустить сервер iis и повторить попытку.
Комментарии:
1. Спасибо за ваш ответ, я действительно внес изменения, о которых вы мне говорили, и это все еще не работает. Он говорит мне: «невозможно получить доступ к этой странице».
2. Вы можете попробовать открыть дело с помощью : support.microsoft.com