TestLink 1.9.20安装遇$tlCfg->testcase_cfg->glue_character赋值错误求助
解决TestLink 1.9.20安装时的层级对象初始化错误
问题重现
在Windows系统使用XAMPP安装TestLink 1.9.20过程中:
- 首次访问安装页面时,因
const.inc.php中$tlCfg未初始化,触发Attempt to modify property "results" on null错误,手动添加$tlCfg = new stdClass();后可进入安装界面。 - 完成数据库账号配置后,执行安装流程时,
config.inc.php第192行触发Attempt to assign property "glue_character" on null错误,对应代码:$tlCfg->testcase_cfg->glue_character = '-';
问题根源
TestLink 1.9.20的配置系统依赖嵌套的stdClass对象结构,仅初始化顶层的$tlCfg无法满足深层属性的赋值需求——testcase_cfg作为$tlCfg的子对象未被创建,直接赋值其属性会触发null引用错误。
修复步骤
- 打开
C:\xampp\htdocs\testlink\config.inc.php文件。 - 在
$tlCfg初始化代码之后(或文件开头合适位置)添加以下代码,手动创建testcase_cfg子对象:
// 初始化testcase_cfg子对象,避免null引用 if (!isset($tlCfg->testcase_cfg)) { $tlCfg->testcase_cfg = new stdClass(); }
- 保存文件后,重新启动Apache服务,再次执行TestLink的数据库安装流程。
通用解决思路
如果后续安装过程中出现类似Attempt to modify property [XXX] on null的错误,均可按照相同逻辑处理:
- 找到报错代码中对应的子对象(如
$tlCfg->xxx_cfg),提前通过new stdClass()初始化该子对象。
同时请确保C:\xampp\htdocs\testlink\logs和C:\xampp\htdocs\testlink\upload_area目录存在且拥有Apache进程的读写权限,避免后续出现文件操作类错误。
内容的提问来源于stack exchange,提问作者Ksavyena
相关产品推荐
相关产品推荐

