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。(责任编辑:好模板) |