新主机安装discuz3.2/3.4后打开网站首页,在最顶部报错误如下
Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in /storage/sdcard0/htdocs/DiscuzX/upload/source/class/class_core.php on line 27
原因解析
自PHP 7.2.0起__autoload()已被弃用。 非常不鼓励依赖此功能。
请使用spl_autoload_register($callable)来替代__autoload()自动加载函数。其中参数$callable是一个自定义函数。自定义函数的参数为需要加载的类。其他用法和使用__autoload()自动加载函数一样。
spl_autoload_register()可以注册多个自动加载函数,而使用自动加载函数__autoload()自动加载类时只能写一个__autoload()函数。
Discuz!使用传统的__autoload()来自动加载类文件,在PHP 7.2中运行需要改为spl_autoload_register()。
解决方法如下
找到文件sourceclassclass_core.php,用文件编辑软件打开,搜索到以下代码:
if(function_exists('spl_autoload_register')) {
spl_autoload_register(array('core', 'autoload'));
} else {
function __autoload($class) {
return core::autoload($class);
}
}将由}后else开始部分删除,代码变为
if(function_exists('spl_autoload_register')) {
spl_autoload_register(array('core', 'autoload'));
} 本文《Discuz! x3.2、3.4,PHP7.2安裝 Discuz后报错原因与解决方法》由网友投稿或:「admin」整理自网络。
转载请声明来自:云猴子 - https://www.yunhouzi.com/260.html
1,本站所有资源均来源于用户上传或整理与网络,如有侵权请【内容投诉】删除,我们将及时处理!
2,本站资源仅供大家学习和交流,请不要用于商业用途,下载后请于24小时后删除!
3,如果你也有好的资源,可以投稿到本站,有金币奖励和额外的收入!
4,从您进入本站开始,已表示您已同意接受本站【版权声明】中的一切条款!
6,申明:本站资源出售只是赞助,仅用于本站服务器和日常运营所需!不提供任何技术支持。
7,如压缩包提示有密码,www.yunhouzi.com
云猴子 » Discuz! x3.2、3.4,PHP7.2安裝 Discuz后报错原因与解决方法