我们在Azure App Service
上主持一个php网站。有时它会关闭并显示此错误:
“遇到错误字符串匹配失败。找不到字符串”
重新启动App Service后,它再次运行。我很确定它与它的PHP部分无关。不幸的是我找不到任何有用的东西。
为什么会发生,我们如何解决?
以下是MS Support所写的内容
应用程序站点内容托管在Web App Azure服务中,Azure Storage以持久的方式支持。应用程序以文件共享的形式访问站点内容,以实现应用程序兼容性和可用性。遗憾的是,由于存储无法通过我们的文件服务器访问,因此在某些情况下网站无法访问其内容。其原因可能包括瞬态存储/网络可用性突发,文件服务器维护(重新启动/操作系统修补)甚至崩溃。
可能的“修复”:
- 使用本地缓存功能。
- 将服务计划升级到premium V2,它使用SSD存储,并且具有更快的读写速度。
- 使用VM来托管网站。
确保Always-on功能已打开,并且已在Portal上正确设置了PHP版本。
尝试启用日志记录去做这个:
使用Kudu控制台进入D:\ home \ site \ wwwroot
在.user.ini文件中,添加以下行(如果文件不存在,可以键入touch .user.ini来创建文件,并且不要忘记.user.ini文件中的起始点!):
log_errors =开启重新启动您的网站
做一些失败的请求来进行一些记录。现在,从Kudu Console,转到D:\ home \ LogFiles并打开(或下载)php_errors.log。最后,您将找到最新的条目,这可能会提供有关正在发生的事情的线索。参考:https://github.com/projectkudu/kudu/wiki/Troubleshooting-PHP-errors