You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境安装Chamilo-LMS遇PHP数组偏移访问错误求助

Chamilo-LMS 安装后数组偏移访问错误的解决办法

问题背景

作为Linux新手,安装Chamilo-LMS时执行了以下操作:

  • 下载解压:cd /tmp && wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.6/chamilo-1.11.6-php7.zip,然后unzip chamilo-1.11.6-php7.zip
  • 已安装PHP7.4

访问Chamilo链接时,反复出现错误:

Notice: Trying to access array offset on value of type null in /var/www/html/chamilo/main/inc/lib/api.lib.php on line 702

对应代码片段:

* Vchamilo changes : allow using an alternate configuration
* to get vchamilo  instance paths
*/
function api_get_path($path = '', $configuration = [])
{
    global $paths;

    // get proper configuration data if exists
    global $_configuration;

    $emptyConfigurationParam = false;
    if (empty($configuration)) {
        $configuration = (array) $_configuration;
        $emptyConfigurationParam = true;
    }

    $course_folder = 'courses/';
    static $root_web = '';
    $root_sys = $_configuration['root_sys'];

错误原因

报错核心是全局变量$_configuration为null,代码尝试访问它的root_sys键值时触发数组偏移错误。这通常是因为Chamilo的配置文件未生成或未正确加载,大概率是跳过了Chamilo的Web安装向导流程。

解决步骤

  1. 运行Web安装向导
    Chamilo不能仅靠解压文件完成安装,必须通过浏览器访问服务器上的Chamilo地址(比如http://你的服务器IP/chamilo),按照向导完成以下关键步骤:

    • 验证服务器环境(PHP版本、扩展、权限等)
    • 配置数据库连接(创建并授权Chamilo专用数据库用户)
    • 设置管理员账号信息
    • 生成config/configuration.php配置文件
  2. 检查配置文件状态
    若已运行向导,确认/var/www/html/chamilo/config/configuration.php存在:

    • 打开文件,检查是否包含root_sys配置项,确保值为Chamilo的系统根目录(例如define('root_sys', '/var/www/html/chamilo/');)
    • 修复文件权限:执行chown www-data:www-data /var/www/html/chamilo/config/configuration.php,确保Web服务器用户可读取该文件
  3. 临时屏蔽通知级错误(可选)
    若需临时消除页面提示,可在/var/www/html/chamilo/main/inc/inc.php开头添加一行代码:

    error_reporting(E_ALL & ~E_NOTICE);
    

    注意:这只是临时方案,必须优先解决配置文件的根本问题。


内容的提问来源于stack exchange,提问作者Gabriela88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:45:18