最近网站服务器的PHP版本被升级到PHP5.6,某日我无意中发现网站空间使用率大了很多,到后台检查发现erro_log一个文件居然占用了几百M。打开看内容,里面都是PHP的各种警告日志。粗略看了一下主要有几种警告提示类型,于是逐一解决。解决方法都来自网络:

一、PHP Deprecated: Assigning the return value of new by reference is deprecated in

这是因为5.3以后,不能使用”=&”符号,所以直接改为”=”就可以了。

二、PHP Strict Standards: Only variables should be assigned by reference in

解决方法同上,”=&”符号,改为”=”就可以了。

三、PHP Strict Standards: Only variables should be passed by reference in

5.3以上默认只能传递具体的变量,而不能传递函数返回值

如下代码:

$tag_sel=array_shift(explode('',$tag));

改为:

$tagArr=explode('',$tag);$tag_sel=array_shift($tagArr);

四、PHP Strict Standards: Redefining already defined constructor for class

__construct()应该写在前面

如下代码:

functionWP_Object_Cache(){return$this->__construct();}function__construct(){...}

改为:

function__construct(){...}functionWP_Object_Cache(){return$this->__construct();}

五、PHP Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in

字面理解即:Walker_Page类的start_lvl()方法,与Walker类的start_lvl($output)方法必须参数一致。只要给参数个默认值,使得编译器认为参数可以为空,保持子类重写方法与父类方法的函数签名相同就可以了。

如下代码:

classWalker{functionstart_lvl($output){return$output;}}classWalker_PageextendsWalker{functionstart_lvl($output,$depth){$indent=str_repeat("\t",$depth);$output.="\n$indent

  • \n";return$output;}}

改为:

classWalker{functionstart_lvl($output){return$output;}}classWalker_PageextendsWalker{functionstart_lvl($output,$depth=NULL){$indent=str_repeat("\t",$depth);$output.="\n$indent

  • \n";return$output;}}

六、PHP Warning: ini_set() has been disabled for security reasons in

ini_set()函数被禁用了。看了一下源代码,是想设置include_path这个值,那就只好修改代码里所有引用函数(include、require等)的路径了,用dirname(__FILE__)灵活引用。

七、PHP Warning: Creating default object from empty value in

变量没有初始化就直接使用的,将这个变量先实例化一个空类。

if(!isset($themes[$current_theme])){delete_option('current_theme');$current_theme=get_current_theme();}$ct=newstdClass();//添加这行就可以了$ct->name=$current_theme;

八、PHP Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method emotions::add_css() should not be called statically in

把add_css()声明为静态方法即可。即:

staticfunctionadd_css(){};

九、PHP Deprecated: Function eregi_replace() is deprecated in

ereg过时了,用preg代替解决。注意正则表达式写法。

ereg() (使用 preg_match() 替代)

eregi() (使用 preg_match() 配合“i”修正符替代)

ereg_replace() (使用 preg_replace() 替代)

eregi_replace() (使用 preg_replace() 配合“i”修正符替代)

如果 ereg_replace、eregi_replace 的第一个参数不是正则表达式,可以用 str_replace、str_ireplace 直接来替换

十、从浏览器直接访问wordpress插件目录里不该直接访问的php文件,也会报错。

如何禁止直接从浏览器输入地址访问.php文件?在该目录里创建一个.htaccess文件禁止用户直接访问即可。.htaccess的内容如下:

order allow,deny

deny from all

php 警告方法 不可用,升级PHP版本后警告信息的逐一解决相关推荐

  1. 记一次升级node版本后,运行原vue项目报错问题解决方法

    记一次升级node版本后,运行原vue项目报错问题解决方法 参考文章: (1)记一次升级node版本后,运行原vue项目报错问题解决方法 (2)https://www.cnblogs.com/happ ...

  2. win 7 系统ie浏览器升级11版本后,f12功能不可用的问题

    自从把ie8升级成11后,f12功能就不可用了.浏览器兼容模式也无法使用. 解决办法:下载windows补丁 IE11-Windows6.1-KB3008923-x64.msu 下载地址: 64位:h ...

  3. 微信升级最新版本后,可在一对一聊天场景中访问外部链接

    9月17日消息,据微信发布的消息,近期,工信部对外链管理提出了专项指导意见,微信将落实"以安全为底线"的互联互通,为确保高质量的平台内容和良好的用户体验,整体遵循如下外链开放原则: ...

  4. ride.py在运行python3.×版本后导致无法运行及解决办法

    最近一直在自学python自动化,网上看到rf框架挺适合初学自动化测试,于是通过虫师的搭建了rf框架, 但是在使用过程中遇到了一个问题,在网上没有找到明确解决办法于是想到记录一下 之前为了搭建rf框架 ...

  5. 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC

    先分析异常的描述: JCE cannot authenticate the provider BC:在使用带签名的jar包时,java会对jar包的签名进行验证,以确认jar包是不是合法的. Secu ...

  6. 升级Go版本后编译出错:Load redeclared in this block

    今天打算把Go升级到1.14.2,升级的方法就两步, 先上Go官方下载页面( https://golang.org/dl/ )下载macos对应的二进制包(1.14.13地址 https://stud ...

  7. 升级uedit32版本后运行软件报错

    2019独角兽企业重金招聘Python工程师标准>>> 升级后无法打开uedit32,google之,解决方法如下: 1.删除Uedit32.ini文件,该文件目录为: C:\Use ...

  8. android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后

    我已经升级了我的Nexus 7与Android 5.0 Lollipop,之前,我的应用程序运行良好与SQLite数据库,但现在每当我执行任何类型的查询,它给我log cat错误,如: 12-09 1 ...

  9. [乐意黎原创]Win10 升级1909版本后,内存占用率居高不下的解决办法

    前几天, 打开系统更新,win 10 推送了 1909版本, 便更新了使用. 起初没觉得有啥明显的变化,这几天总觉得机子卡的卡的严重,查看了下内存,占用率居高不下. 把打开的进程全杀了,也没有用. 之 ...

最新文章

  1. 贝叶斯居然用事件概率,就轻松预知了未来?
  2. 利用map和stringstream数据流解题
  3. ANSI C中的sizeof详解
  4. [NewLife.XCode]数据初始化
  5. python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始
  6. aop注解配置切点 spring_Spring通过自定义注解灵活配置AOP切点
  7. Nginx 500错误总结
  8. JSdom操作内容,样式,属性
  9. GB28181协议--设备注册和注销
  10. 计算机辅助翻译 火云译客,中文在线翻译韩语
  11. 批处理打开URL总结
  12. matlab hurst代码,Hurst指数法matlab程序求助
  13. hl7消息介绍_消息格式及编码规则-HL7协议学习笔记(转)
  14. itextpdf 怎么下划线_itext生成pdf设置下划线,itextpdf下划线,使用setUnderli
  15. AI插画设计,用AI制作一个只可爱的短腿柯基插画
  16. java搜索页面历史记录,页面缓存的操作(搜索历史记录),页面搜索功能实现...
  17. 高光谱知识(1)-高光谱成像技术的理解
  18. ABP框架源码中的Linq扩展方法
  19. 科腾Joystick手柄连接ROS
  20. 状态同步和帧同步的优缺点

热门文章

  1. 递归查找特定路径的所有特定文件
  2. MYSQL 时间函数总结
  3. 在Tomcat中通过JOTM支持JTA
  4. 新漏洞可导致攻击者劫持Kindle
  5. 依赖混淆 exploit 已被滥用于攻击亚马逊等多家大厂
  6. SMBGhost 漏洞 CVE-2020-0796 的PoC 已发布,攻击现身
  7. 谷歌更新漏洞披露规则:不管补丁打没打,够90天才披露
  8. KafKa基本入门教程
  9. 使用 Async / Await 来编写简明的异步代码
  10. [ZigBee] 10、ZigBee之睡眠定时器