Chamilo-LMS安装后登录出现空白页及权限错误求助
问题概述
登录Chamilo后首页显示空白,点击日历、管理等功能时触发如下错误:
CRITICAL
10:25:05
request Uncaught PHP Exception Exception: "You are not allowed" at /var/www/chamilo/public/main/inc/lib/api.lib.php line 3451
{
"exception": {}
}ExceptionLogs 2Stack Trace
Exception
Exception:
You are not allowedat public/main/inc/lib/api.lib.php:3451
at api_not_allowed()
(public/main/inc/lib/api.lib.php:1126)
at api_block_anonymous_users()
(public/main/auth/my_progress.php:10)
错误核心是系统误将已登录用户识别为匿名,导致权限拦截,结合空白页现象,可从以下方向排查:
检查会话存储配置
确认config/configuration.php中session_save_path指向的路径存在且PHP进程有读写权限,执行命令修复权限:chown -R www-data:www-data /var/www/chamilo/tmp/sessions chmod 700 /var/www/chamilo/tmp/sessions若使用Redis/Memcached存储会话,验证服务运行状态及配置参数是否正确。
验证用户角色与权限
若能进入后台,检查当前用户角色权限,确保勾选了首页、日历、管理模块的访问权限;若无法进入后台,通过数据库强制设置管理员角色:UPDATE user SET status = 1, official_code = 'ADMIN' WHERE id = [你的用户ID];替换
[你的用户ID]为实际ID,执行后重新登录。修复文件权限与完整性
统一设置Chamilo目录及文件权限:find /var/www/chamilo -type f -exec chmod 644 {} \; find /var/www/chamilo -type d -exec chmod 755 {} \;确认
public/main/auth/my_progress.php文件未缺失或篡改,若异常可从官方安装包替换该文件。检查PHP环境
验证PHP版本符合Chamilo要求(需7.4及以上,推荐8.0-8.2),确保session、mbstring、curl等必需扩展已启用;查看PHP错误日志(通常在/var/log/php/或/var/log/apache2/目录),获取空白页的具体报错信息。清除缓存与会话
删除临时缓存和会话文件:rm -rf /var/www/chamilo/tmp/cache/* /var/www/chamilo/tmp/sessions/*同时清除浏览器缓存和Cookie,重启浏览器后重新登录。
内容的提问来源于stack exchange,提问作者Gabriela88

