Joomla的登录一直正常,突然有一天,我朋友跟我说登录不了了,显示以下500的错误
这让我很是困惑,一方面解决windows服务器下的web应用问题真的很不爽,机器不能像Linux那样登录,还只能用ftp把代码下载下来慢慢看。
在网上搜索了很久,开始的时候以为密码错了。找到官方给出找回密码的方法,点击。
但仍然不成功。说实话,对于这种问题,我们要能定位错误发生在那里就好了。下面的解决之道:
第一步: 打开debug开关,这样能正确定位,到底出错发生在哪里
修改configuration.php文件,将debug的值设置为1
第二步:再一次登录,发现报出以下问题:
错误 JAuthentication: :__construct:无法加载身份验证库。 Call stack # Function Location 1 JAdministrator->dispatch() JROOT\administrator\index.php:46 2 JComponentHelper::renderComponent() JROOT\administrator\includes\application.php:153 3 JComponentHelper::executeComponent() JROOT\libraries\joomla\application\component\helper.php:351 4 require_once() JROOT\libraries\joomla\application\component\helper.php:383 5 JController->execute() JROOT\administrator\components\com_login\login.php:19 6 LoginController->login() JROOT\libraries\joomla\application\component\controller.php:761 7 JAdministrator->login() JROOT\administrator\components\com_login\controller.php:57 8 JApplication->login() JROOT\administrator\includes\application.php:234 9 JAuthentication::getInstance() JROOT\libraries\joomla\application\application.php:669 10 JAuthentication->__construct() JROOT\libraries\joomla\user\authentication.php:143 11 JError::raiseWarning() JROOT\libraries\joomla\user\authentication.php:127 12 JError::raise() JROOT\libraries\joomla\error\error.php:276 JFolder::create: 无法创建目录 Path: \var Call stack # Function Location 1 JAdministrator->dispatch() JROOT\administrator\index.php:46 2 JComponentHelper::renderComponent() JROOT\administrator\includes\application.php:153 3 JComponentHelper::executeComponent() JROOT\libraries\joomla\application\component\helper.php:351 4 require_once() JROOT\libraries\joomla\application\component\helper.php:383 5 JController->execute() JROOT\administrator\components\com_login\login.php:19 6 LoginController->login() JROOT\libraries\joomla\application\component\controller.php:761 7 JAdministrator->login() JROOT\administrator\components\com_login\controller.php:57 8 JApplication->login() JROOT\administrator\includes\application.php:234 9 JApplication->triggerEvent() JROOT\libraries\joomla\application\application.php:745 10 JDispatcher->trigger() JROOT\libraries\joomla\application\application.php:642 11 JEvent->update() JROOT\libraries\joomla\event\dispatcher.php:161 12 plgSystemLog->onUserLoginFailure() JROOT\libraries\joomla\event\event.php:71 13 JLog->addEntry() JROOT\plugins\system\log\log.php:41 14 JLog->addLogEntry() JROOT\libraries\joomla\log\log.php:346 15 JLoggerFormattedText->addEntry() JROOT\libraries\joomla\log\log.php:382 16 JLoggerFormattedText->initFile() JROOT\libraries\joomla\log\loggers\formattedtext.php:137 17 JFolder::create() JROOT\libraries\joomla\log\loggers\formattedtext.php:237 18 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 19 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 20 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 21 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 22 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 23 JFolder::create() JROOT\libraries\joomla\filesystem\folder.php:188 24 JError::raiseWarning() JROOT\libraries\joomla\filesystem\folder.php:264 25 JError::raise() JROOT\libraries\joomla\error\error.php:276 Call stack # Function Location 1 JAdministrator->dispatch() JROOT\administrator\index.php:46 2 JError::raiseError() JROOT\administrator\includes\application.php:164 3 JError::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目录要有读写权限)
时间: 2024-10-10 21:41:46