深入了解HTTP 500内部服务器错误的原因及解决方法
HTTP 状态代码提供有关在线请求是否成功的信息,假如不成功,则错误是什么。 但是错误消息并不总是很清楚。 “500 内部服务器错误”尤其云云。 此消息表示在毗连到服务器期间发生错误,而且无法访问所请求的页面。 但是,它不会告诉你为什么会如许。 荣幸的是,有不同的方法可以找到原因。 大眼仔指出了典范的错误来源,并提供了有关遇到 HTTP 错误 500 时该怎么做的提示。https://i-blog.csdnimg.cn/blog_migrate/d322d069c4ef41ffece284c029d4d06f.jpeg
HTTP 500 内部服务器错误
内部服务器错误是什么意思?
Web 服务器使用状态代码告诉互联网用户的浏览器(客户端)请求(即访问网站)是否成功。 假如浏览器收到 200 状态码,就知道齐备顺利。 但是,用户永久不会看到此消息,由于出现的是请求的内容。 400 和 500 状态码的情况不同。 前者指示客户端错误,而后者与服务器相关。 Internal Server Error 500 是服务器错误的集合状态代码。 因此,乍一看,无法确定错误究竟出在哪里。 用户只知道服务器报告了意外错误。
但是,假如服务器安装了 Microsoft Internet Information Services (Microsoft IIS),则会指定错误代码。 小数位更详细地指出了错误的原因:
[*] 500.0:发生模块或 ISAPI 错误。
[*] 500.11:应用步伐正在 Web 服务器上关闭。
[*] 500.12:应用步伐正忙于在 Web 服务器上重新启动。
[*] 500.13:Web 服务器太忙。
[*] 500.15:不答应直接请求 global.asax。
[*] 500.19:设置数据无效。
[*] 500.21:模块无法识别。
[*] 500.22:ASP.NET httpModules 设置不适用于托管管道模式。
[*] 500.23:ASP.NET httpHandlers 设置不适用于托管管道模式。
[*] 500.24:ASP.NET 模仿设置不适用于托管管道模式。
[*] 500.50:在 RQ_BEGIN_REQUEST 关照处理期间发生重写错误。 发生设置或入站规则执行错误。
[*] 500.51:GL_PRE_BEGIN_REQUEST 关照处理期间发生重写错误。 发生全局设置或全局规则执行错误。
[*] 500.52:在 RQ_SEND_RESPONSE 关照处理期间发生重写错误。 发生出站规则执行。
[*] 500.53:在 RQ_RELEASE_REQUEST_STATE 关照处理期间发生重写错误。 发生出站规则执行错误。 该规则设置为在更新输出用户缓存之前执行。
[*] 500.100:内部 ASP 错误。
服务器错误 500 的原因是什么?
当 Web 服务器处理请求时,可能会发生“内部服务器错误”。 集体状态代码包罗服务器上可能发生并阻止网站加载的所有筹划外情况。 服务器错误 500 的发生可能是由于 Web 服务器的设置发生了错误。 以下是一些典范的错误来源:
[*] 权限错误:主要文件和文件夹的权限设置不正确。
[*] PHP 超时:脚本尝试访问外部资源并遇到超时。
[*] .htaccess 中的错误代码:.htaccess 文件中的布局可能有误。
[*] CGI/Perl 脚本中的语法或代码错误:在某些情况下,脚本不正确。 特殊是路径可能会错位。
[*] PHP 内存限定:进程超出内存,无法正确执行。
对于 WordPress 网站或其他内容管理体系,安装错误或不兼容的扩展也可能是原因。 插件和主题(尤其是来自第三方提供商的)会影响整个网站。
网站运营者如何解决 500 内部服务器错误?
您的网站访问者是否只看到 500 服务器错误? 作为运营者,您应该迅速解决这个标题,由于这不光会吓跑您的访问者,而且还可能意味着百度、Google 会低落您的排名。 在您接纳行动之前,请先查抄您的服务器是否仍在运行。 假如没有,请尽快联系您的托管服务提供商。
假如存在内部错误,第一步是查看日志文件。 对于 Linux 服务器,应在 /var/log/httpd/error_log 中找到错误消息的集合。 重新加载网站以重现 HTTP 错误 500 代码并观察日志文件的创建方式是有意义的。 这将资助您快速找到错误的来源。 还要思量不久之前进行了哪些更改。 在许多情况下,错误编程或不兼容的插件是错误消息的原因。
假如您没有为紧张文件正确设置权限,也会出现错误。 一般来说,权限分为三种:
[*] 读取 (r)
[*] 写入 (w)
[*] 执行 (x)
可以为三种不同的用户类型分配这些权限:
[*] 文件的拥有者
[*] 用户组
[*] 所有其他人
权限以缩写 r、w 和 x 或相应的数值指定:4 表示读取,2 表示写入,1 表示执行。 它们是为每种用户类型添加的,并一个接一个地指定:rwxr-xr-x(所有者为 rwx,组为 r-x,所有其他用户为 r-x)或 755。此设置 (755) 应该是默认设置。 假如权限分配设置不同,可能会发生错误。 您可以使用以下下令更改此设置:
1
chmod 755 filename
假如此更改不能解决标题,您还可以释放每个组的所有权限以进行测试:
1
chmod 777 filename
但是只能使用这个设置来定位标题。 答应任何用户重写该文件,这是可以理解的安全风险。
接下来,查抄(假如分发权限没有产生错误消息)您的脚本是否正确运行。 偶然会出现错误,由于脚本文件已被移动、重命名或删除。 还要查抄 .htaccess 文件:即使是语法错误(无论多么小)都可能导致内部服务器错误。 一个同样常见的错误是不正确地格式化 .htaccess 文件。 这必须以 ASCII 或 ANSI 格式创建,而不是 Unicode。 因此,请在记事本、Notepad++ 或 Sublime Text 等文本编辑器中编写文件,而不要在 Microsoft Word 等笔墨处理步伐中编写文件。 要测试是否是该文件导致的错误,您可以临时重命名并重新加载网站。 服务器如今在加载网站时不会访问 .htaccess。 假如您不再收到错误消息,您可以修复该文件或创建一个新文件。
超时也可能导致错误消息。 在这种情况下,这不是 Web 服务器错误,而是与外部源的毗连中断。 您网站上的 PHP 脚本是否设置为从其他服务器访问资源? 也许资源不再可用或服务器通讯因其他原因而中断。 消除这种错误来源的一种方法固然是不要让您的站点依赖外部资源。 假如这不可能,您可以增加脚本的时间限定。 实施有效的错误处理也很有意义,如许可以更准确地检测到 PHP 脚本中的错误。
会不会是内存超载了? 内存限定决定了一个进程可以使用多少内存。 假如须要的 RAM 多于可用的 RAM,这可能会导致内部服务器错误。 您可以增加限定作为临时解决方案。 为此,请将如下下令添加到 php.ini:
1
memory_limit = 512M
在此示例中,您会将提供的内存设置为 512MB。 但是请注意,您的托管服务提供商只答应您在预订的套餐中使用特定的 PHP 脚本。 假如您输入一个更高的值,Web 服务器将忽略它。 提高限定只是一个临时解决方案:一旦您的网站重新启动并运行,您应该寻找 RAM 使用率高的原因。 很有可能在您网站的代码中发现错误。
假如这些方法都不能为您提供解决方案,最好联系您的托管服务提供商。 在此之前,您可以查抄服务器的状态:许多托管服务提供商会通过状态页面报告其服务器的状态,大概在出现标题时通过社交媒体关照用户。
互联网用户应该如何响应 HTTP 错误 500?
作为网站访问者,假如遇到内部服务器错误,您几乎无能为力。 目的网站地点的网络服务器设置不正确。 这意味着您的 PC 设置或网络毗连设置没有错误。 因此,对于互联网用户来说,最简单的解决方案通常是稍后重新加载页面。 一方面,有可能站长已经更正了错误。 这是很有可能的,尤其是对于大型供应商。 另一方面,可能是您试图在网络服务器不方便的时间访问该网站。 假如您选择了服务重新启动的确切时间,即使齐备都在筹划中,也会显示错误消息。
注意
假如您在网上订购时遇到错误信息,请不要重新加载网页,由于您看不到错误发生的位置。 可能是确认页面加载失败,但体系已经接受了您的订单。 因此,刷新页面可能会导致重复订单。
也有可能是页面浏览量的急剧增加导致服务器忽然宕机。 这个标题通常会在几秒钟内解决 – 除非网站永久超载。 假如刷新页面后仍然收到错误消息,您应该先扫除浏览器的缓存。 浏览器现实上可能不会重新加载网站,而是使用其内部存储器。 清空缓存后,再次尝试访问网站。
假如仍然显示“500 内部服务器错误”,那你就别无选择,只能等待网站运营商解决标题。 但是,您可以使用一个小本领来访问网站的内容。 假如您不依赖于(功能)页面的最新状态,您可以访问谷歌缓存。 假如您在谷歌搜索栏中输入下令 cache: 后跟相关 URL,您可以访问该网站的较早版本(渴望仍在运行)。 但是,您不会真正浏览该页面,您只会在 Google 服务器上的副本中导航。
假如您想访问的网站长时间无法访问,您固然可以联系站长。 他们甚至可能不知道访问者无法访问他们的网站。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]