Мы размещаем сайт php на Azure App Service
,
Иногда он не работает и отображает эту ошибку:
«Обнаружена ошибка совпадения строки. Строка не найдена»
После перезапуска службы приложений она снова работает. Я совершенно уверен, что это не имеет ничего общего с частью PHP. К сожалению, я не смог найти ничего полезного.
Почему это происходит и как мы можем это исправить?
Вот что написал MS Support
Содержимое сайта приложения размещается в службах приложений Web App Azure и надежно поддерживается хранилищем Azure. Приложение обращается к содержимому сайта в виде общих файловых ресурсов, чтобы обеспечить совместимость и доступность приложения. К сожалению, было несколько случаев, когда сайты не могли получить доступ к своему контенту из-за недоступности хранилища через наши файловые серверы. Причины этого могут включать кратковременные сообщения о доступности хранилища / сети, обслуживание файлового сервера (перезагрузка / исправление ОС) или даже сбои.
Возможные «исправления»:
- Используйте функцию локального кэша.
- Обновите тарифный план до Premium V2, он использует хранилище SSD и имеет более высокую скорость чтения и записи.
- Использование VM для размещения веб-сайта.
Убедитесь, что функция Always-on включена, и что версия PHP правильно установлена на портале.
Попробуйте включить ведение журнала. Сделать это:
Используйте консоль Kudu и перейдите в D: \ home \ site \ wwwroot
В файле .user.ini добавьте следующую строку (вы можете нажать touch .user.ini, чтобы создать файл, если он не существует, и не забудьте начальную точку в файле .user.ini!):
log_errors = On
Перезапустите свой сайт
Сделайте несколько неудачных запросов, чтобы начать регистрацию.
Теперь из консоли Kudu перейдите в D: \ home \ LogFiles и откройте (или загрузите) php_errors.log.
В конце вы найдете самые последние записи, которые могут дать подсказки о том, что происходит.
Ссылка:https://github.com/projectkudu/kudu/wiki/Troubleshooting-PHP-errors