【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误

azure,app,service,for,windows,php,应用,出现,the,page,cannot,be,displayed,because,an,internal,server,error,has,occurred,错误 · 浏览次数 : 79

小编点评

**问题描述:** 由于PHP页面是500错误的,而访问静态 HTML 页面可以正常显示,问题 likely 是 FastCGI 配置问题。 **问题解决:** 1. **检查 FastCGI 配置:** - 在 Kudu 控制台中查看 FastCGI 处理程序的路径。 - 检查 web.config 配置文件中的 ScriptProcessor 路径。 2. **修改 FastCGI 路径:** - 将 FastCGI 处理程序的路径从 D:\Program Files\... 修改为 C:\ 。 - 保存修改。 3. **重新访问页面:** - 重新访问 PHP 页面。 - 确保页面正常显示。 **其他提示:** - 检查 FastCGI 中是否存在其他错误消息。 - 尝试使用 `error_reporting()` 设置错误 reporting 的级别。 - 查看 FastCGI 的日志文件以获取更多调试信息。

正文

问题描述

PHP应用突然遇见了500 The page cannot be displayed because an internal server error has occurred.错误,但是如果访问一个静态HTML页面,就可以成功。只要是PHP页面,就是500。

 

问题解答

登录App Service的Kudu站点,查看日志发现一句:  scriptProcessor could not be found in "fastCGI" application configuration. 

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
 <System>
  <Provider Name="WWW Server" Guid="{3A2A4E84-4C21"/>
  <EventID>0</EventID>
  <Version>1</Version>
  <Level>3</Level>
  <Opcode>18</Opcode>
  <Keywords>0x100</Keywords>
  <TimeCreated SystemTime="2023-07-05T07:35:06.598Z"/>
  <Correlation ActivityID="{800003B}"/>
  <Execution ProcessID="6616" ThreadID="2832"/>
  <Computer>dw</Computer>
 </System>
 <EventData>
  <Data Name="ContextId">{8000031E-0000--}</Data>
  <Data Name="ErrorDescription">&lt;handler&gt; scriptProcessor could not be found in &lt;fastCGI&gt; application configuration</Data>
 </EventData>
 <RenderingInfo Culture="zh-CN">
  <Opcode>SET_RESPONSE_ERROR_DESCRIPTION</Opcode>
  <Keywords>
   <Keyword>RequestNotifications</Keyword>
  </Keywords>
 </RenderingInfo>
 <ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
  <EventGuid>{00E}</EventGuid>
 </ExtendedTracingInfo>
</Event>

错误消息显示因为脚本处理器(scriptProcessor)无法找到 fastCGI 模块。 而这个 fastCGI 是通过web.config配置,从App Service的实例中获取。

接下来,查看PHP的 FastCGI 处理程序 php_cgi.exe的路径。 

然后,查看web.config中配置的路径,发现路径配置为D:\Program Files\...., 所以,尝试修改 FastCGI中 ScriptProcessor的路径为 C:\ 。 

最后,保存修改。重新访问页面返回200成功。

 

解决了 scriptProcessor could not be found in "fastCGI" application configuration 问题。

 

与【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误相似的内容:

【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误

[500 The page cannot be displayed because an internal server error has occurred.] [scriptProcessor could not be found in "fastCGI" application configuration] [EXECUTE|500|0|0x585|CONFIG_SUCCESS|PHP7

【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll)。详细的错误为: “System.DllNotFoundException: Unable to load DL

【Azure 应用服务】在App Service for Windows中实现反向代理

问题描述 如何在App Service for Windows(.NET Stack)中,如何实现反向代理呢? 正向代理:客户端想要访问一个服务器,但是它可能无法直接访问这台服务器,这时候这可找一台可以访问目标服务器的另外一台服务器,而这台服务器就被当做是代理人的角色 ,称之为代理服务器,于是客户端

【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided

问题描述 在App Service For Linux 中,部署NodeJS应用,应用启动失败。 报错信息为: 2023-08-29T11:21:36.329731566Z RangeError: Incorrect locale information provided2023-08-29T11:

【Azure App Service for Container】记一次拉取镜像失败的特殊情况

问题描述 使用Azure App Service For Container 拉取 应用镜像,发现拉取失败。 错误消息: “Image pull failed since Inspect image returned null: xxxxxxx.azurecr.cn/dataapi:20230830

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器

问题描述 在App Service for linux上创建一个PHP应用,通过 phpinfo() 查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size 大小为0. 那么,在App Service的环境中,如何开启JIT呢? 问题解答 PHP 8在PHP的内核中添加了JIT

【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案

问题描述 创建App Service Container服务,选择从Docker Hub中获取appsmith/appsmith-ce 镜像(https://www.appsmith.com/ & https://hub.docker.com/r/appsmith/appsmith-ce/tags

【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error

问题描述 App Service上部署的Java应用,连接 Azure Database for MySQL 失败。错误信息:Create connection error, url: jdbc:mysql://....................... communications link

【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误

{ "code":"DeploymentFailed", "message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usag

【Azure 应用服务】使用Python Azure SDK 来获取 App Service的访问限制信息(Access Restrictions)

azure.core.exceptions.ClientAuthenticationError: Authentication failed: AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is