您现在的位置: 365建站网 > 365学习 > php7.2下出现报错__autoload() is deprecated use spl_autoload_register的解决办法

php7.2下出现报错__autoload() is deprecated use spl_autoload_register的解决办法

文章来源:365jz.com     点击数:203    更新时间:2020-04-23 20:43   参与评论

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);
	}
}
*/


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (203人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------