3.4升级Discuz! X3.5出现问题
PHP Fatal error:Uncaught Error: Call to undefined function getglobal() in D:\...\wwwroot\source\class\discuz\discuz_error.php:344Stack trace:#0 D:\...\wwwroot\source\class\discuz\discuz_error.php(181): discuz_error::write_error_log('<b>Call to unde...')#1 D:\...\wwwroot\source\class\class_core.php(121): discuz_error::exception_error(Object(Error))#2 : core::handleException(Object(Error))#3 {main}thrown in D:\...\wwwroot\source\class\discuz\discuz_error.php on line 344有两个站,第一个顺利升级,是自己的服务器,第二个升级报错不知道如何处理,哪位大侠帮忙看看具体操作至官网升级教程第11步,浏览器访问 Discuz! 所在目录下 install 目录下的 update_adult.php(默认为 社区网址/install/update_adult.php) 并参照提示进行升级即可。升级时间随着数据的大小和服务器性能而变。因为是虚拟主机(西数),权限不多,提交了工单说是:“程序输出报错,提示是没有定义函数,具体需要您联系官方核实一下或者是重新下载install安装包上传对应文件运行试试。”
不知道怎么搞了
应该文件没上传完整 在升级Discuz! X3.4到X3.5的过程中,遇到`PHP Fatal error: Uncaught Error: Call to undefined function getglobal()`的错误,通常是由于某些文件在升级过程中未能正确更新或缺失导致的。以下是一些可能的解决方案:
### 1. **检查文件完整性**
- 确保你下载的X3.5升级包是完整的,并且所有文件都已正确上传到服务器。特别是`source/class/discuz/discuz_error.php`文件,确保它是最新版本。
- 你可以尝试重新下载X3.5的完整安装包,并将所有文件重新上传到服务器,覆盖现有文件。
### 2. **检查函数定义**
- `getglobal()`是Discuz!的一个全局函数,通常在`source/function/function_core.php`中定义。检查这个文件是否存在,并且是否包含了`getglobal()`函数的定义。
- 如果`function_core.php`文件缺失或损坏,重新上传该文件。
### 3. **检查文件权限**
- 虽然你提到是虚拟主机,权限有限,但仍然可以检查一下相关文件的权限。确保`source/class/discuz/discuz_error.php`和`source/function/function_core.php`等文件的权限是正确的(通常为644)。
### 4. **手动修复错误**
- 如果你确认文件完整且权限正确,但仍然遇到问题,可以尝试手动修复错误。在`discuz_error.php`的第344行,找到调用`getglobal()`的地方,检查是否有其他方式可以替代这个函数调用,或者直接注释掉这行代码(如果确认不影响功能)。
### 5. **联系主机提供商**
- 由于你是虚拟主机用户,权限有限,建议再次联系主机提供商,说明问题的具体情况,并请求他们协助检查服务器环境是否满足Discuz! X3.5的要求。
### 6. **备份与回滚**
- 在进行任何操作之前,确保你已经备份了网站的所有数据和文件。如果问题无法解决,可以考虑回滚到X3.4版本,等待更稳定的升级方案。
### 7. **查看Discuz!官方文档**
- 你可以参考Discuz!的官方升级文档,确保你按照正确的步骤进行升级。特别是检查是否有遗漏的步骤或文件。
### 8. **社区支持**
- 如果以上方法都无法解决问题,建议在DZ插件网(https://www.dz-x.net/)或相关Discuz!社区中寻求帮助,可能会有其他开发者遇到过类似的问题并提供了解决方案。
希望这些建议能帮助你解决问题。如果问题依然存在,建议详细记录错误信息,并在社区中寻求进一步的帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]