php 屏蔽deprecated,php7.2.8 Deprecated错误不能隐藏处理
近期把PHP升级到了最新稳定版本7.2.8。访问博客首页提示了两个Deprecated错误, 关于函数create_function()和__autoload(),错误信息以及对应的代码如下
错误一:
// Deprecated: Function create_function() is deprecated in /var/www/html/niliu/wp-includes/pomo/translations.php on line 208
/**
* Makes a function, which will return the right translation index, according to the
* plural forms header
* @param int $nplurals
* @param string $expression
*/
function make_plural_form_function($nplurals, $expression) {
$expression = str_replace('n', '$n', $expression);
$func_body = "
\$index = (int)($expression);
return (\$index < $nplurals)? \$index : $nplurals - 1;";
return create_function('$n', $func_body);
}
错误二:
// Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in /var/www/html/niliu/wp-includes/compat.php on line 502
// SPL can be disabled on PHP 5.2
if ( ! function_exists( 'spl_autoload_register' ) ):
$_wp_spl_autoloaders = array();
/**
* Autoloader compatibility callback.
*
* @since 4.6.0
*
* @param string $classname Class to attempt autoloading.
*/
function __autoload( $classname ) {
global $_wp_spl_autoloaders;
foreach ( $_wp_spl_autoloaders as $autoloader ) {
if ( ! is_callable( $autoloader ) ) {
// Avoid the extra warning if the autoloader isn't callable.
continue;
}
call_user_func( $autoloader, $classname );
// If it has been autoloaded, stop processing.
if ( class_exists( $classname, false ) ) {
return;
}
}
}
endif;
create_function()这个问题可以换一个写法,但是__autoload是WordPress对于PHP5.2版本的一个兼容,除非移除这个方法,这样就破坏了原有的代码的完整性,于是想着先隐藏这个提示:
error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE & ~E_DEPRECATED);
ini_set('display_errors', 'Off');
入口文件加上了上面这行代码,发现首页还是提示错误。(原因没有查到)
想到的临时解决办法如下:
在create_function前面加@, 把上面第一个代码片段第13行改为:
return @create_function('$n', $func_body);
回头用匿名函数实现了,替换掉,搜索发现用create_function有一个安全漏洞,点击查看。
把__autoload改为__autoload2,把上面第二个代码片段第14行改为:
function __autoload2( $classname ) {
如果大家也遇到这个问题,可以参考这种临时解决办法,如有更好的建议,欢迎留言讨论。
php 屏蔽deprecated,php7.2.8 Deprecated错误不能隐藏处理相关推荐
- jAvA中deprecate,在Java中使用Deprecated方法或类是错误的吗?
1.在Java中使用Deprecated方法或类是错误的吗? 从已弃用的定义 : 注释@Deprecated的程序元素是程序员不鼓励使用的程序元素,通常是因为它是危险的,或者是因为存在更好的selec ...
- Deprecated: Function ereg_replace() is deprecated
Deprecated: Function ereg_replace() is deprecated in /usr/local/apache/htdocs/cacti/include/global.p ...
- Deprecated:function eregi() is deprecated in /usr/local/apache/libraries/lib_lang.php on line 8
Deprecated:function eregi() is deprecated in /usr/local/apache/libraries/lib_lang.php on line 8 Depr ...
- 出现Deprecated: Function ereg_replace() is deprecated in 的原因及解决方法
出现Deprecated: Function ereg_replace() is deprecated in 的原因及解决方法 参考文章: (1)出现Deprecated: Function ereg ...
- java 废弃方法_在Java中使用Deprecated方法或类是错误的吗?
Cats萌萌 术语来自官方的Sun词汇表:deprecation:指不再推荐的类,接口,构造函数,方法或字段,可能在将来的版本中不再存在.从何时何时弃用指南:您可能已经听过"自我贬低的幽默& ...
- 解决Windows上编译PHP7.1拓展的错误
转载请注明文章出处:https://tlanyan.me/solve-buil... 接上篇Windows编译PHP7.2拓展,以为编译PHP7.1的拓展应该水到渠成,马到成功.哪知道编译PHP7.1 ...
- php7.1 rc,解决Windows上编译PHP7.1拓展的错误
接上篇Windows编译PHP7.2拓展,以为编译PHP7.1的拓展应该水到渠成,马到成功.哪知道编译PHP7.1拓展出现了新问题,折腾更超7.2. 第一个问题是VC15(visual studio ...
- php7 打开错误提示,PHP7如何开启具体错误显示
目录 在使用nginx的过程中总是会碰到nginx提示500错误,可是具体错误需要去查看错误日志文件, 很是不方便.打开错误页面提示很实用于调试PHP的时候,但不建议在线服务器开启此功能. 修改fpm ...
- php7.1.6验证码错误,steam输入验证码不正确怎么办
steam输入验证码不正确怎么办? steam手机令牌验证码输入正确,但一直显示令牌的验证码是错误需要把令牌进行转移,转移方法为: 1.首先打开之前旧的手机的steam令牌软件,然后点开左侧菜单,在里 ...
- 宝塔面板wordpress“知更鸟”主题升级到php7.3,出现“警告错误提示”的解决办法
最近,将网站运行的硬件进行了升级,从虚拟主机换成了vps,同时,用上最新的宝塔面板(基于centos7的6.9版本),php主要是用7.3版本,网上资料说,wordpress完美支持php7.0及以上 ...
最新文章
- 2021 线性代数 第三章 习题课
- if not exist Oracle,oracle 兑现 if not exist 方法
- Java web对试卷进行单选多选答题进行打分_java + vue 考试系统,适配各种题型,包含微信小程序端...
- ubuntu+终端不能启动mysql数据库_强制重启Ubuntu服务器后Mysql无法启动
- 20180316 数组所占空间
- Android:IntentService的学习
- 物联网碰到云计算会怎么样?
- 为Android安装BusyBox
- 【BZOJ1012】最大数maxnumber,疯狂CE的线段树练习
- 猫影视接口相关及短网址
- Linux系统安全防护加固
- 从零基础入门Tensorflow2.0 ----六、28 深度可分离卷积神经网络
- mysqludf_json将关系数据以JSON编码
- gdc服务器维修员登录密码,gdc服务器密码
- HttpSession详解(简称session)
- Electron屏幕截图的技术方案MacWindows
- 方块 游戏界面java_JAva 判断方块游戏清除方法
- 一篇评价牛顿的搞笑文章,作者老罗,但很有才
- 万物互联!盘点国内八大物联网平台
- 华为云存储空间图库占比太大_用户数据安全存储 华为云空间这些功能大显身手...