在PHP7.2版本安装后首页报错:Deprecated: __autoload() is deprecated, use spl_autoload_register() instead 的解决方法:
spl_autoload_register
(PHP 5 >= 5.1.0, PHP 7)
spl_autoload_register — 注册给定的函数作为 __autoload 的实现
php7.2下老的PHP代码会提示类似这样的错误:
Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in \XXXX\common.inc.php on line。
错误原因:__autoload魔术方法在php7.2被废弃,使用新的方法代替了.
解决办法:把原来的__autoload()函数改为autoload(),然后加上一个spl_autoload_register(‘autoload’)的调用即可,如下:
//自动加载类库spl_autoload_register('autoload'); //PHP7.2开始必须这样写//自动加载类库处理function autoload($classname)
今天全新安装Discuz! X3.4,服务器环境是CentOS宝塔面板PHP7.2,结果装好后打开首页竟然报错:Deprecated: __autoload() is deprecated, use spl_autoload_register() instead ……
然后百度之,在这里找到了解决方案:Discuz! X3.4配置后出现页首出现Deprecated提示的问题。在这里记录一下:
解决方法就是打开..\source\class\class_core.php这个php,对25行的if(function_exists('spl_autoload_register'))中的第27行else注释掉即可,也就是不要这个else如下图所示:
if(function_exists('spl_autoload_register')) { spl_autoload_register(array('core', 'autoload')); } /* 把这段代码注释掉else { function __autoload($class) { return core::autoload($class); } } */
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛