解决IIS+PHP出现的“500 - 内部服务器错误”

借着腾讯云的活动笔者成功租赁了一台系统为Windows Server 2012 R2的服务器,目前服务端构成是IIS+PHP+MySQL。不过最近在使用PHP操作MySQL数据库的时候遇到了问题。有时会出现“500 - 内部服务器错误”,如下图。



但是问题来了,实际上PHP代码在本地测试的时候(Windows10+Apache+PHP+MySQL)却正常,没有报错。如下图,同样的代码和相同的参数,访问同样的数据库。



看样子是IIS+PHP的组合出了问题。为了解决问题,我们要排除500的错误可能是哪些,根据查阅的资料,笔者首先把IIS本身可能会产生500错误的地方全部进行了排查,比如读写权限等等。那么剩下的问题可能就出在php上面了。进一步查阅资料,有人在之前遇到了类似的情况,最后是通过对PHP工作目录下的php.ini进行参数的修改解决的。php.ini中需要修改的内容如下(修改或者添加):

display_errors=On
error_log="C:\windows\Temp\php-5.x.yy_errors.log"
error_reporting = E_ALL
fastcgi.logging = 0
html_errors=On
log_errors = On

笔者按照上面的内容对服务器的php.ini进行了修改,但是出现了新的问题。如图:



500错误终于是没了,然后出现了新的问题,What???PHP什么时候用变量要定义了(扶额)……

只能硬着头皮继续找去掉解决方案,最终找到了两种解决方案:


一,修改php.ini

error_reporting = E_ALL & ~E_NOTICE
register_globals = On

这个问题其实主要出在error_reporting的参数,下面的register_globals笔者在php.ini中没有找到(笔者使用的是php7),不添加也没有问题。


二,在php文件的头部添加如下代码

ini_set("error_reporting","E_ALL & ~E_NOTICE");

这个方案适合没有php.ini读写权限或者不想进行ini配置的情况,也能够解决问题。


再次访问相同的页面,终于没有500错误和未定义变量的提示了,没有比无报错更让人泪流满面的事情了。


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HTTP 错误 500.19 - Internal Server Error 是一个常见的 IIS 错误,它表示在处理请求时发生了一些配置错误。导致这个错误的原因有很多种可能性。其中,一种常见的原因是缺少或错误配置了必需的组件或模块。 根据网页搜索的结果,有一种可能是由于缺少 AspNetCoreModule 这个组件导致的。解决这个问题的方法是安装该组件。对于 .NET Core 2.2.x 版本,可以从 Microsoft 官网下载并安装该组件。下载地址可以在 https://dotnet.microsoft.com/en-us/download/dotnet/2.2 找到。 另外,也有可能是由于 .NET Core 环境的问题导致的。在这种情况下,需要安装适当的运行环境,例如 .NET 6.0 版本(适用于 Linux、macOS 和 Windows)。安装正确的运行环境可以解决这个问题。 综上所述,当出现 HTTP 错误 500.19 - Internal Server Error 时,可能的解决方法包括安装缺少的组件(比如 AspNetCoreModule)和安装适当的运行环境(比如 .NET 6.0)来修复配置错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [HTTP 错误 500.19- Internal Server Error 错误解决方法](https://download.csdn.net/download/weixin_38690508/12903664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [IIS之HTTP 错误 500.19 - Internal Server Error](https://blog.csdn.net/qq_35139974/article/details/128000072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [.Net 6.0 发布至IIS出现HTTP 错误 500.19 - Internal Server Error](https://blog.csdn.net/qq_27179087/article/details/129266321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值