Zencart打开出现500内部服务器错误的解决方法
zencart引起这种500错误的原因有很多种,其中不少是彼此完全无关。
因此,审查下列清单时要小心。不管怎么样,不要随便去修改权限。“只是因为”清单之一指出表示“可能”是问题的起因。选择你能做的,去尝试“修复”的问题。
小背景
网站服务器正在运行,使用一个软件,为游客的浏览器做网页内容的“服务”。服务器有很多规则定义,例如说东西怎样支持工作等。如果说“有些东西”出错了,那么它就会抛出错误提示。而且,它在自己的服务器日志里记录错误。
一个好的托管公司将会有服务器配置来记录这些日志,因此当发生时,它可以分析问题。
通常你不会直接访问这些日志,但托管公司会。
最重要的一点:
“500内部服务器错误”是非常通用的捕捉所有的错误,仅仅意味着“哎呀呀,出事了,我不知道这是什么,或者说至少我不会公开告诉你这是什么”。
引起错误的真正原因会被记录在服务器上。不会被显示在屏幕上,因为很多时候,原因可能与安全相关,如果把“实际”原因显示在屏幕上,将会告诉黑客下一步围绕安全系统要做什么。
这就是为什么找到“500内部服务器错误”的问题解决方案的最快方式是看它在服务器的记录。如果这意味着记录托管公司一票,那么这样做吧。
可能的原因(排名不分先后):
安全系统
(MOD安全)MOD安全是WEB服务器上运行的一个安全系统。用来检测常见的黑客活动,还有阻止他们做一些恶意的行为。它找寻常用的黑客脚本和文字的图案。如果规则被触发,它会发错500错误,甚至可能会暂时锁定访问者的IP地址。
MOD安全规则会被列入错误记录和MOD安全性记录中。
其他注意事项,如果发现只有当通过管理区域编辑某些产品或类别时,才会出现500错误,这已成为越来越普遍的PCI合规性的原因。
如果服务器被配置为使用php_suexec(这是为了提供更好的安全性,如何存储文件和管理PHP脚本权限),然后不允许设置任何文件或文件夹为“777”(又名“世界可写)权限级别。在这种情况下,最大允许的设置通常是755。
在这种情况下,如果设置了“777”的文件夹,服务器抛出“500内部服务器错误”。模块访问该文件夹中的任何脚本或文件。
封锁的文件夹将在记录中列出。
因此,在这种情况下,你应该使用755代替777。但阅读说明时建议使用“777”。
如果你使用phpsuexec的其他注意事项
htaccess的语法错误
由主服务器配置的htaccess限制规定,如果服务器的配置限制在htaccess文件中使用某些指令。但你使用了不允许的指令,这样就会触发“500内部服务器错误”,直到你解决问题,你的网站将无法被访问。
实际的规则将被记录在日志中。
关于htaccess文件和Zen Cart的服务器要求的更多细节可以在Zen Cart的htaccess文件找到。
PHP错误,有时当PHP脚本遇到错误,由于超时或语法问题,或是更糟糕的问题,比如说逻辑问题,也可能会触发“500内部服务器错误”。PHP不被允许这样做,但是它可能会这么做。
如果URL或路径有坏的configure.php内容,或在你的configure.php文件中有任何其他问题,指不同的服务器的信息,或不适合*
你*的服务器,则可能会发生很多奇怪的问题,其中可能包括一个500错误。但通常这将是非常不同的症状。只要确保你不能从一个服务器复制你的
configure.php文件到另一个服务器,甚至localhost。