后端出现500内部服务器错误 - Joomla

14

我在Joomla 1.7中安装了新网站,它工作正常,但是当我检查它的后端(管理员)时,出现了 500内部服务器错误

注意:该站在本地服务器上运行正常。

请建议任何解决方案。

提前感谢。


日志文件显示了什么吗? - nfechner
谢谢回复...日志没有显示任何内容 :( - Dheeraj Agrawal
2
apache的error.log(如果您正在使用apache)应该至少显示一些内容。 - nfechner
你能提供更多的信息吗?你最初是如何将文件放置在服务器上的 - 是在本地解压并通过FTP逐个文件传输到服务器上,还是在本地安装并使用Akeeba备份.jpa文件进行传输,或者是在远程服务器上手动解压缩?错误是在你访问/administrator/时立即出现的,还是在成功登录后立即出现的,或者是在管理区域内的某个特定页面中出现的?根据你的服务器设置,你可能需要查看Apache错误日志,或者可能需要查看suexec的错误日志文件。 - Dean Marshall
你尝试过用其他浏览器吗?我知道这听起来很疯狂,但我刚刚在 Joomla 论坛帮助一个人,发现特定的浏览器会产生服务器 500 错误,而另一个浏览器则不会。问题的关键在于,“服务器错误”可能并不是真正的服务器错误,而是由 cookie 或其他外部因素触发的东西。 - Dean Marshall
12个回答

27

首先,你需要将以下文件夹的权限更改为775:

cache, logs, tmp和administrator/cache。

然后前往:configuration.php

查找代码:

$log_path = 'XXXXXXXXXXXXX';
$tmp_path = 'XXXXXXXXXXXXX';

并将代码更改为:

$log_path = './logs';
$tmp_path = './tmp';

问题已解决 :)


1
非常感谢。我在整个互联网上搜索了很久。我正在开发一个相当大的项目,但jomsocial组件一直无法正常工作。通过这个技巧,它终于可以工作了。再次感谢! - Legycsapo
1
我也是JomSocial用户,这个解决方案对我的客户网站也有效!谢谢 :) - khairul
1
非常感谢,你救了我所有的工作。特别是$log_path和$tmp_path这部分非常重要。 - i-developer
这些文件夹的内容可以安全删除吗? - Arnold Roa
1
据我所知,缓存内容可以随时重新生成,临时文件只是暂时存在,由插件和其他模块使用,所以是安全的。 - Gui

3

我曾经遇到这个问题,但是你们的建议都没有帮助。

只有在我通过PhpMyAdmin(PMA)关闭所有模块后才解决了问题。

表格模块中,将“published”参数改为0,然后仅启用以下几个类型的模块:

  • mod_login
  • mod_menu
  • mod_sumbenu
  • mod_toolbar
  • mod_title

之后,我进入管理页面,并使用顶部菜单逐个启用所需的模块。当管理页面再次给出500错误时,我知道哪个模块有问题,然后再次通过PMA禁用它。


1

可能有一些文件没有上传成功。检查您的FTP服务器传输失败。确保所有文件都已经成功上传到在线上。


不知道是谁给你点了踩,但我已经给你点了赞,因为说实话,这总是一个很好的调试步骤,特别是在将网站从一个主机转移到另一个主机时(如果通过ftp完成)。错误日志分析是最好的方法,但通常它们在共享托管中不容易访问,或者人们不知道在哪里找到它们。 - Dean Marshall
谢谢您的点赞,我发布这个答案是因为我过去遇到过类似的情况,所以认为这可能是其中一种情况。 - sumi

0

这是我的情况和解决方案:

我更换了服务器后出现了这个错误。我使用密码保护方法来保护我的管理员文件夹。所以我检查了我的新服务器,发现我的保护信息没有保存在控制面板中。此外,我的 .htaccess 文件(在管理员文件夹中)与我的新服务器不兼容。

解决方案:

  1. 只需使用控制面板保护我的文件夹
  2. 我将 .htaccess 文件重命名为 htaccess.txt

完成了。

希望它能有用;)


0

我在编辑或保存一些文章、模块等时,我的网站后端也遇到了同样的问题...最终我解决了它... 在您的服务器上将以下行添加到 /etc/httpd/conf.d/mod_secuirity.conf

SecRuleEngine Off

保存它...然后重新启动 Apache...对我来说它很好用。 添加这些行会禁用 mod_secuirity 引擎。我不知道它是否会在未来造成安全问题... 谢谢大家...


0
在我的情况下,有一个权限不正确的单个文件。 要找出哪个文件存在问题可能有些棘手,所以只需运行此命令来设置目录中所有文件的权限:
chmod -R ug+rwX .
chmod -R o+rX .

0
更改管理员文件夹的权限为775或755。

0

我尝试了以上所有的想法,但都没有成功。我的网站(一个过时的Joomla 1.5.x网站-别问我为什么!!!),后台突然停止工作,最终的解决方案是将服务器的PHP版本从4切换到5.5(甚至5.4也不行!)。

然后,我在前端得到了一些奇怪的PHP警告。但是,我从现在再次工作的后台更新了Joomla到最新的1.5版本,从此一切都正常了。

哎呀!也许这会帮助以后的某个人...


0

更改所有文件/目录的权限。

  • 文件应为755
  • 目录应为644

0

我在我的网站上也遇到了类似的问题。通过查看日志文件/administrator/error_log,我看到了这个错误信息:

[08-Oct-2012 15:28:59] PHP致命错误:在/home/XXX/public_html/administrator/components/com_login/admin.login.php第65行调用一个非对象的成员函数login()

问题是,我之前安装了Joomla 1.5.x,并上传了Joomla 1.6的文件以替换先前的文件并提升网站的安全性。花了我近一个月的时间才为自己找到了解决方案;

最后我从this website上找到了答案,需要完全删除网站根目录中的所有旧文件,然后再上传新版本的Joomla。

希望这能帮助到在同样困境中的其他人!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接