解决Joomla登录后台时500-发生一个错误

来源:互联网 发布:百度大数据产品 编辑:程序博客网 时间:2024/06/06 03:16

Joomla的登录一直正常,突然有一天,我朋友跟我说登录不了了,显示以下500的错误


这让我很是困惑,一方面解决windows服务器下的web应用问题真的很不爽,机器不能像Linux那样登录,还只能用ftp把代码下载下来慢慢看。

在网上搜索了很久,开始的时候以为密码错了。找到官方给出找回密码的方法,点击。

但仍然不成功。说实话,对于这种问题,我们要能定位错误发生在那里就好了。下面的解决之道:

第一步: 打开debug开关,这样能正确定位,到底出错发生在哪里

修改configuration.php文件,将debug的值设置为1


第二步:再一次登录,发现报出以下问题:

错误JAuthentication: :__construct:无法加载身份验证库。Call stack#FunctionLocation1JAdministrator->dispatch()JROOT\administrator\index.php:462JComponentHelper::renderComponent()JROOT\administrator\includes\application.php:1533JComponentHelper::executeComponent()JROOT\libraries\joomla\application\component\helper.php:3514require_once()JROOT\libraries\joomla\application\component\helper.php:3835JController->execute()JROOT\administrator\components\com_login\login.php:196LoginController->login()JROOT\libraries\joomla\application\component\controller.php:7617JAdministrator->login()JROOT\administrator\components\com_login\controller.php:578JApplication->login()JROOT\administrator\includes\application.php:2349JAuthentication::getInstance()JROOT\libraries\joomla\application\application.php:66910JAuthentication->__construct()JROOT\libraries\joomla\user\authentication.php:14311JError::raiseWarning()JROOT\libraries\joomla\user\authentication.php:12712JError::raise()JROOT\libraries\joomla\error\error.php:276JFolder::create: 无法创建目录Path: \varCall stack#FunctionLocation1JAdministrator->dispatch()JROOT\administrator\index.php:462JComponentHelper::renderComponent()JROOT\administrator\includes\application.php:1533JComponentHelper::executeComponent()JROOT\libraries\joomla\application\component\helper.php:3514require_once()JROOT\libraries\joomla\application\component\helper.php:3835JController->execute()JROOT\administrator\components\com_login\login.php:196LoginController->login()JROOT\libraries\joomla\application\component\controller.php:7617JAdministrator->login()JROOT\administrator\components\com_login\controller.php:578JApplication->login()JROOT\administrator\includes\application.php:2349JApplication->triggerEvent()JROOT\libraries\joomla\application\application.php:74510JDispatcher->trigger()JROOT\libraries\joomla\application\application.php:64211JEvent->update()JROOT\libraries\joomla\event\dispatcher.php:16112plgSystemLog->onUserLoginFailure()JROOT\libraries\joomla\event\event.php:7113JLog->addEntry()JROOT\plugins\system\log\log.php:4114JLog->addLogEntry()JROOT\libraries\joomla\log\log.php:34615JLoggerFormattedText->addEntry()JROOT\libraries\joomla\log\log.php:38216JLoggerFormattedText->initFile()JROOT\libraries\joomla\log\loggers\formattedtext.php:13717JFolder::create()JROOT\libraries\joomla\log\loggers\formattedtext.php:23718JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18819JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18820JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18821JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18822JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18823JFolder::create()JROOT\libraries\joomla\filesystem\folder.php:18824JError::raiseWarning()JROOT\libraries\joomla\filesystem\folder.php:26425JError::raise()JROOT\libraries\joomla\error\error.php:276Call stack#FunctionLocation1JAdministrator->dispatch()JROOT\administrator\index.php:462JError::raiseError()JROOT\administrator\includes\application.php:1643JError::raise()JROOT\libraries\joomla\error\error.php:251

第三步:解决以下问题

首先解决第一个问题:无法加载身体验证库

修改数据库里对应表xx_extensions (xx根据你的网站设定的)里的plg_authentication_joomla对应的这行enabled值改为1


然后解决第二个问题:这个问题的产生是因为

configuration.php这个文件里的$log_path 和$tmp_path这两个变量配置有问题,原始的为:


说实话,要是服务器是Linux系统,完全没问题,但windows系统就是没有这样的路径,将它们的值改为如下:


然后登录就没有问题了!

(注意:网站根目录下的logs 和 tmp目录要有读写权限)


0 0