|
|
为什么我会收到"500 Internal Server Error"呢? |
|
问题: |
为什么我会收到"500 Internal
Server Error"呢? (“500内部服务器错误”)
|
回答: |
这种错误出现的原因有很多,其中不少是与此完全无关的。
因此,使用时要小心审查下列清单。不要只是因为一点可能出现的问题就不管三七二十一去改变权限。你要知道选择性去尝试“修复”相关问题。
背景:
在您网站的服务器上使用一个软件来运行游客的浏览器,做网页内容的“服务”。服务器有许多事情是工作规则里面如何定义。如果出错了,就会出现一个错误,它记录在自己的服务器日志中的错误。
一个好的托管公司的服务器会配置好这些日志记录。当它发生问题时,它可以很好的来分析问题。
通常你不会直接访问这些日志,但是,托管公司是可以的。
最重要的一点:
“500内部服务器错误”是一个非常常见的错误,仅仅意味着“糟糕,出事了,我不知道这是什么,或者至少我不会公开告诉你这是什么。
这些错误的实际原因将会记录在服务器上。它不会被显示在屏幕上,因为许多原因可能与安全有关的,在“实际”屏幕上显示原因,周围的安全系统会告诉黑客下一步要做什么。
这就是为什么“500内部服务器错误”的问题想要找到解决方案的最快方式是看它在服务器的日志。如果这意味着记录与您的托管公司的事情,就可以这样做。
可能的原因(排名不分先后):
安全系统
(mod_security)mod_security是Web服务器上运行的安全系统,如果他们尝试做一些破坏,就可以检测常见的黑客活动。它看起来像常用的黑客脚本和文字图案,如果该规则被触发时,它会发送一个500错误,甚至可能会暂时锁定访问者的IP地址。
mod_security错误日志将列出的mod_security规则。
其他注意事项,如果你发现自己的500错误,只有通过您的管理区域来编辑某些产品/类别。
suexec
这就是越来越普遍的PCI合规性的原因。
如果服务器被配置来使用php_suexec(这是为了提供更好的安全性如何将文件存储和管理权限与PHP脚本),然后你不允许任何文件或文件夹设置为“777”(又名“world-writable)权限级别。在这种情况下,允许的最大的通常是755。
在这种情况下,如果设置了“777”的文件夹,服务器抛出500内部服务器错误并且封锁访问该文件夹中的任何脚本或文件。
封锁的文件夹将在日志中列出。
因此,在这种情况下,你应该使用755而不是777,阅读时建议使用“777”的说明。
如果你使用phpsuexec,请注意其他的事项
.htaccess syntax errorsor .htaccess的主服务器配置所施加的限制
如果您的服务器的配置限制使用.htaccess文件中的某些指令,但你使用的东西不允许,那么将引发“500内部服务器错误”,您的网站将无法访问,直到您解决问题为止。
确切的规则将被记录在日志中。
.htaccess的进一步细节文件和Zen Cart的服务器要求可以发现在 .htaccess的文件下发现。
PHP错误
有时,当一个PHP脚本遇到一个错误,无论是由于超时或语法问题,或是比一个逻辑问题更糟糕的东西,就会触发一个500内部服务器错误。这可能并不总是这样做,但它可能会出现。
在这种情况下,如果您使用Zen
Cart的调试日志审查PHP错误,你可能有发现问题的原因。
不好的configure.php内容
如果URL或路径,或任何其他事情,在configure.php文件,是指不同的服务器的信息,或你的服务器是不正确的,那么可能会发生很多奇怪的问题,其中可能包括一个500错误。但是,通常这将是非常不同的症状。只要你确保从一个服务器到另一个不能复制configure.php文件,甚至本地主机,那么就没什么大问题了! |
|
当前评论: 0 | |
|
本问题添加时间是 2012年 05月 07日。 |
|
|
|
|