HTTP 错误 500.0 - Internal Server Error

本文详细介绍了在使用IIS7.5部署PHP5.3.8过程中遇到HTTP错误500.0-InternalServerError的解决方法。主要问题在于PHP5.3.8是VisualC++2008compiler编译的,需要在服务器上安装VisualC++2008runtime以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     工作需要,需要同时在服务器上运行PHP、ASP、.Net,考虑到方便,我用IIS7.5实现,以下是所需软件列表:

    1、Windows 2008 R2 Standard.
    2、IIS7.5

    3、PHP5.3.8 Thread Safe.

    4、 MySQL 5.5.16 X64

    5、PHP Manager 

    这里不再赘述Windows和IIS7.5的安装方法,详细过程请上百度搜索。

    按照正常创建网站流程,以下为简要步骤:

    1、创建应用程序池,选择.NetFramework版本为无托管代码,托管管道模式为集成,然后右键点选刚新建的应用程序池,选择常规选项下的启用32位应用程序值为True;

    2、创建网站,输入网站名称,应用程序池选择上一步创建好的就用程序池,选择物理路径,确定,并输入默认文档列表;

    3、 安装PHP Manager,按照文档步骤设置PHP配置,只需几步便可,然后点击Check phpinfo()进行测试;

    然后我遇到了这样的问题,页面出现了如下错误:"出现 HTTP 错误 500.0 - Internal Server Error",以前也遇到过,用的是php5.2.17版本,很快解决了,按照以前方法,检查目录权限,检查配置项,但是这次问题依旧,反复检查,问题仍然没有得到解决,郁闷中..............。

    思考一下,即然是用IIS7.5作为服务器进行配置,说不定在IIS官网会有更好的解决办法。上官网,反复搜索查看,眼前一亮,终于找到了解决方法,经实践操作,该问题最终得以解决,哈哈。(特别标注:必须使用x86版本,即使你的服务器是x64版本。

    原来出现这个错误是因为PHP5.3是Visual C++ 2008 compiler (VC9)编译的,所以需要在服务器上安装Visual C++ 2008 runtime,至此,整个问题解决。

    

转载于:https://www.cnblogs.com/lyongde/archive/2011/09/16/2179173.html

<think>我们正在解决HTTP500.0InternalServerError问题。根据引用内容,这个问题可能有多种原因和解决方案。我们将结合引用信息,逐步分析并提供解决方案。首先,引用[1]描述了错误的具体信息:模块为ManagedPipelineHandler,处理程序为ExtensionlessUrlHandler-Integrated-4.0错误代码0x800703e9。这通常与IIS的托管管道模式和.NET框架注册有关。引用[2]和[3]提供了针对不同情况的解决方案:1.安装顺序问题:如果先安装了VS后安装IIS,需要重新注册ASP.NET。具体步骤是:-以管理员身份运行命令提示符。-进入对应.NET框架版本的目录(如v2.0.50727或v4.0.30319)。-执行`aspnet_regiis.exe-i`。2.托管管道模式不匹配:如果应用程序池设置为集成模式,但某些设置仅适用于经典模式,或者反之。解决方案是:-打开IIS管理器,找到应用程序池。-将应用程序池的模式从“集成模式”改为“经典模式”(.NETAppPool)或反之。3.权限问题:确保网站目录的权限正确,添加Everyone用户并赋予修改权限。引用[3]和[4]还提到:-对于.NETFramework4.0,如果安装IIS在安装Framework之后,可能需要运行`aspnet_regiis.exe-i`。-确保IIS中启用了相应的功能,如ASP.NET、ISAPI扩展、ISAPI筛选器等。引用[5]提到错误500.19可能与配置文件有关,但500.0的情况可能不同。针对HTTP500.0错误,我们按以下步骤解决:###步骤1:重新注册ASP.NET1.以管理员身份打开命令提示符。2.根据你的应用程序使用的.NET框架版本,进入相应目录:-对于32位系统(或64位系统上的32位框架):-.NET2.0/3.5:`%windir%\Microsoft.NET\Framework\v2.0.50727`-.NET4.x:`%windir%\Microsoft.NET\Framework\v4.0.30319`-对于64位系统上的64位框架:-.NET2.0/3.5:`%windir%\Microsoft.NET\Framework64\v2.0.50727`-.NET4.x:`%windir%\Microsoft.NET\Framework64\v4.0.30319`3.执行命令:`aspnet_regiis.exe-i`###步骤2:检查应用程序池模式1.打开IIS管理器。2.在左侧连接面板中,选择“应用程序池”。3.在右侧找到你的网站使用的应用程序池(可以在站点的“基本设置”中查看)。4.双击该应用程序池,在“托管管道模式”中,尝试切换模式:-如果当前是“集成模式”,则改为“经典模式”。-如果当前是“经典模式”,则改为“集成模式”。5.重启IIS(在命令提示符运行`iisreset`)。###步骤3:检查权限1.找到网站所在的物理路径(错误页面中会显示,如`g:\WebSites\MyWeb\upload\`)。2.右键单击该文件夹,选择“属性”->“安全”选项卡。3.点击“编辑”添加用户或组,添加“Everyone”(或者更安全的特定用户,如IIS_IUSRS)。4.给“Everyone”赋予“修改”权限(如果安全性要求高,可以只给“读取和执行”、“列出文件夹内容”、“读取”、“写入”)。###步骤4:确保IIS功能已安装1.打开“控制面板”->“程序”->“启用或关闭Windows功能”。2.确保以下功能已启用(根据你的.NET版本选择):-InternetInformationServices->万维网服务->应用程序开发功能:-ASP.NET(对应版本)-.NETExtensibility(对应版本)-ISAPI扩展-ISAPI筛选器3.重启系统或IIS。###步骤5:检查其他可能原因-如果重新注册时遇到“不是有效的Win32应用程序”(引用[3]),可能是文件损坏,需从其他相同系统拷贝`aspnet_regiis.exe`覆盖。-检查事件查看器(EventViewer)中的详细错误信息,以获得更具体的线索。按照以上步骤逐一尝试,通常可以解决HTTP500.0错误。如果问题仍然存在,请提供更详细的错误信息(如事件查看器中的错误日志)以便进一步诊断。§§相关问题§§1.如何以管理员身份运行命令提示符?2.如何查看我的应用程序使用的是哪个.NET框架版本?3.除了权限问题,还有哪些常见原因会导致HTTP500错误?</think>### HTTP 错误 500.0 解决方案 根据引用内容分析,HTTP 500.0 错误通常由 **IIS 配置问题**、**.NET框架注册异常**或**权限错误**引起。以下是系统化解决方案: #### 1. 重新注册 ASP.NET(核心步骤) ```bash # 以管理员身份运行 CMD aspnet_regiis.exe -i ``` - **具体路径**(根据系统和.NET版本选择): - 32位系统: `%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i` - 64位系统: `%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i` (若使用.NET 2.0/3.5,替换路径中的`v4.0.30319`为`v2.0.50727`)[^2][^3] > **注意**:若执行时提示 *"不是有效的Win32应用程序"*,需从正常机器复制相同版本的`aspnet_regiis.exe`文件覆盖[^3]。 --- #### 2. 调整应用程序池模式 1. 打开 **IIS 管理器** 2. 左侧选择 **应用程序池** 3. 右键点击目标池 → **基本设置** 4. 修改 **托管管道模式**: - 当前为 *集成模式* → 改为 **经典模式** - 当前为 *经典模式* → 改为 **集成模式** (切换后测试效果)[^2][^4] --- #### 3. 检查 IIS 功能组件 在 **Windows功能** 中确保启用: - ASP.NET(对应版本) - ISAPI 扩展 - ISAPI 筛选器 - .NET Extensibility (控制面板 → 程序 → 启用或关闭Windows功能)[^4] --- #### 4. 修复文件夹权限 1. 右键点击网站**物理路径**文件夹 → **属性** 2. 选择 **安全** 选项卡 → **编辑** 3. 添加用户/组: - `Everyone`(临时测试) - `IIS_IUSRS`(生产推荐) 4. 勾选 **修改** 权限[^2][^5] --- #### 5. 验证配置文件 - 检查错误页面中提示的 **配置文件路径**(如`web.config`) (引用[5]中蓝圈标注路径) - 删除或重命名可疑配置节(如冲突的`<handlers>`节) > **操作顺序建议**: > 先执行框架注册(步骤1) → 切换管道模式(步骤2) → 检查权限(步骤4) → 最后验证配置(步骤5)。 > 每步操作后重启IIS:命令行运行 `iisreset`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值