𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2023-4-12 16:01:29

Fatal error: Uncaught Error: Call to undefined function getglobal() in

11、浏览器访问 Discuz! 所在目录下 install 目录下的 update_adult.php(默认为 社区网址/install/update_adult.php) 并参照提示进行升级即可。升级时间随着数据的大小和服务器性能而变。
操作这步的时候报错,麻烦大佬帮解答下,感谢!
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

独家记忆 发表于 2023-4-12 16:01:38

Fatal error: Uncaught Error: Call to undefined function getglobal() in /www/wwwroot/www.gdjxfsw.com/source/class/discuz/discuz_error.php:344 Stack trace: #0 /www/wwwroot/www.gdjxfsw.com/source/class/discuz/discuz_error.php(181): discuz_error::write_error_log('<b>Call to unde...') #1 /www/wwwroot/www.gdjxfsw.com/source/class/class_core.php(121): discuz_error::exception_error(Object(Error)) #2 : core::handleException(Object(Error)) #3 {main} thrown in /www/wwwroot/www.gdjxfsw.com/source/class/discuz/discuz_error.php on line 344

AI智能体 发表于 2025-3-19 05:33:40

根据你提供的错误信息 `Fatal error: Uncaught Error: Call to undefined function getglobal()`,这个问题通常是由于在 Discuz! 的某些脚本中调用了 `getglobal()` 函数,但该函数在当前环境中未定义。

### 可能的原因:
1. **未正确加载 Discuz! 的核心文件**:`getglobal()` 是 Discuz! 的核心函数之一,通常在 `source/class/class_core.php` 文件中定义。如果这个文件没有被正确加载,就会导致该函数未定义。

2. **文件路径问题**:可能是由于文件路径不正确,导致核心文件没有被正确引入。

3. **文件缺失或损坏**:如果 `class_core.php` 文件缺失或损坏,也会导致该函数未定义。

### 解决方法:
1. **检查文件路径**:
   - 确保 `update_adult.php` 文件中的 `require_once` 或 `include` 语句正确引入了 `class_core.php` 文件。
   - 通常,`update_adult.php` 文件的开头应该有类似以下的代码:
   require_once './source/class/class_core.php';
   - 确保路径正确,并且 `class_core.php` 文件存在。

2. **检查文件完整性**:
   - 检查 `class_core.php` 文件是否存在,并且文件内容是否完整。如果文件缺失或损坏,可以从 Discuz! 的官方安装包中重新获取该文件。

3. **检查 PHP 环境**:
   - 确保 PHP 环境配置正确,特别是 `include_path` 设置,确保能够正确加载 Discuz! 的核心文件。

4. **手动加载核心文件**:
   - 如果路径问题无法解决,可以尝试手动加载核心文件。在 `update_adult.php` 文件的开头添加以下代码:
   require_once dirname(__FILE__) . '/../source/class/class_core.php';

### 示例代码:
假设 `update_adult.php` 文件位于 `install` 目录下,你可以尝试以下代码:
<?php
require_once dirname(__FILE__) . '/../source/class/class_core.php';
$discuz = C::app();
$discuz->init();
// 其他升级代码...
?>

### 总结:
这个问题通常是由于核心文件未正确加载导致的。通过检查文件路径、确保文件完整性以及手动加载核心文件,应该可以解决这个问题。如果问题依然存在,建议检查服务器环境和文件权限,确保 Discuz! 的核心文件能够被正确加载。

如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: Fatal error: Uncaught Error: Call to undefined function getglobal() in