php7 不向后的兼容的变更
在php7中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了。
这些异常继承自Error类,此类实现了Throwable接口(所有异常都实现了这个基础接口)
这就意味着,当发生错误的时候,以前的代码中的一些错误处理代码将无法被触发。因为在php7版本中,已经使用抛出异常的错误处理机制了。(如果代码中没有捕获Error的异常,那么会引发致命错误)
问题

Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in /usr/local/httpd/htdocs/zhcool/bbs/install/index.php:12 Stack trace: #0 {main} thrown in /usr/local/httpd/htdocs/zhcool/bbs/install/index.php on line 12
[root@lnmp1 ~]# vim /usr/local/httpd/htdocs/zhcool/bbs/install/index.php
找到 set_magic_quotes_runtime(
改成 //set_magic_quotes_runtime(
或者添加这一行 ini_set("magic_quotes_runtime",0);
[root@lnmp1 ~]# /etc/init.d/httpd restart
httpd is restart complete.
新的PHP版本已经不存在这个参数,请注释或者添加
ini_set("magic_quotes_runtime",0);
本文介绍了PHP7中错误处理方式的变化,尤其是如何将致命错误转换为异常处理,并提供了一个具体的示例,展示如何解决因废弃函数导致的问题。
出错的方法&spm=1001.2101.3001.5002&articleId=96145728&d=1&t=3&u=64e65475ee8741419b02396692006cd3)
1077

被折叠的 条评论
为什么被折叠?



