从 Moodle 测试站点副本上的数据库读取时出错

问题描述 投票:0回答:1

Stack Overflow 社区您好,

我的 Moodle 测试网站遇到问题,希望得到任何帮助。详情如下:

背景:

创建了我的 Moodle 站点(版本 4.0.1+)的副本以进行升级测试。 此方法之前在相同版本的 Moodle 上曾取得成功。 我有备份和完整服务器访问 (VPS)。 Moodle 主站点运行没有问题。 问题:

在测试站点上遇到“从数据库读取错误”的情况。 通过 Config.php 文件中的调试代码,错误代码为

“错误 表“会话”不存在 调试信息: 错误代码:ddltablenotexist 堆栈跟踪: /lib/dml/moodle_database.php 第 665 行:抛出 dml_exception /lib/dml/moodle_database.php第1621行:调用moodle_database->where_clause() /lib/classes/session/manager.php第425行:调用moodle_database->get_record() /lib/classes/session/manager.php 第 165 行:调用 core\session\manager::initialise_user_session() /lib/classes/session/manager.php 第 139 行:调用 core\session\manager::start_session() /lib/setup.php 第 829 行:调用 core\session\manager::start() /config.php 第 28 行:调用 require_once() /index.php 第 30 行:调用 require_once()"

config.php 中的配置看起来是正确的。 服务器详细信息包括:

cPanel 版本:110.0(内部版本 17) 阿帕奇版本:2.4.58 MySQL 版本:10.6.16-MariaDB 操作系统:Linux (3.10.0-1160.99.1.el7.x86_64)

增加服务器大小和空间,期望这可以防止任何与资源相关的问题。 通过 FTP 手动传输文件,就像过去一样。 尝试 chmod moodledata 文件夹以获得适当的权限,但我之前使用的确切命令尚不清楚。我希望这能够解决数据库的任何访问问题。 我希望这些步骤能够复制我之前的成功设置,但相反,我遇到了数据库错误。 限制:

由于即将进行的升级和个人承诺而造成时间压力。 Git 经验有限;寻求一个不涉及现在学习的解决方案。

问题:

如何解决 Moodle 测试站点上的“从数据库读取错误”问题? chmoding mudledata 文件夹以确保功能的正确命令是什么?我知道它们应该是 777,但我无法找到适合我在终端中更改它们的说明。我在十月份做到了这一点,我为自己感到非常自豪,但由于个人家庭的压力,我的大脑无法以通常的“从学习中获得乐趣”的方式运作。 任何意见或建议将不胜感激,因为我需要尽快让这个测试站点运行以进行升级实践。

谢谢!

moodle
1个回答
0
投票

快速修复可能是关闭测试站点上

config.php
中的数据库会话

$CFG->dbsessions = 0;

这会将会话存储在文件中而不是数据库中

您可以通过以下方式检查会话在生产站点上的存储方式:

站点管理 > 服务器 > 服务器 > 会话处理

“使用数据库获取会话信息”- dbsessions

会话可以存储在数据库、文件或内存缓存中

参见

https://docs.moodle.org/403/en/Session_handling

© www.soinside.com 2019 - 2024. All rights reserved.