尚学堂百战程序员:PHP的错误机制

2022-10-11 22:14:11 180 0
魁首哥

在日常的项目开发过程中,总是会出现一些我们意想不到的异常错误,如果我们对此没有进行相对完善的处理,那么程序看上去也很不专业,也很可能就会成为别人攻击系统的有效信息;有些错误异常会终止脚本执行,这个时候如果没有一些错误提示信息的话,那么我们只能从头开始看代码了,要知道项目中成百上千行的代码对我们来说是件多么恐怖的事情啊,那么我们如何在项目开发的过程中快速准确地定位到异常、错误呢,并进行相应的处理。

PHP错误:是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,使得编译器无法通过检查,甚至无法运行的情况。平时遇到的warming、notice都是错误,只是级别不同而已。

E_WARNING

这种错误只是警告,不会终止脚本,程序还会继续进行,显示的错误信息是Warning。比如 include 一个不存在的文件。

//Warning: include(a.php): failed to open stream: No such file or directory in / tmp /php/index.php on line 7

//Warning: include(): Failed opening ‘a.php’ for inclusion (include_path=’.:/usr/share/ pear :/usr/share/php’) in /tmp/php/index.php on line 7

include(“a.php”); //E_WARNING

。PHP提供了set_error_handler()函数进行错误处理。当错误发生时,set_error_handler会统一处理错误。

如下所示

$a = 0;

function handle($ errno ,$errstr,$errfile,$errline){

echo $errfile;

}

set_error_handler(‘handle’);

echo 4/$a;

echo PHP_EOL;

echo ‘hehe’;

?>

上面的

1

echo 4/$a;发生了错误,此时进入了错误处理函数handle中,进行错误处理,一般我们在handle中加入die,终止执行。

E_DEPRECATED

这个错误表示你用了一个旧版本的函数,而这个函数后期版本可能被禁用或者不维护了。

比如curl的CURLOPT_POSTFIELDS使用\@FILENAME来上传文件的方法

// Deprecated: curl_setopt(): The usage of the @filename API for file uploading is deprecated. Please use the CURLFile class instead in /tmp/php/index.php on line 42

$ ch = curl_init(“”);

curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘fileupload’ => ‘@’. “test”));

“我们相信人人都可以成为一个IT大神,现在开始,选择一条阳光大道,助你入门,学习的路上不再迷茫。这里是北京尚学堂,初学者转行到IT行业的聚集地。”

收藏
分享
海报
0 条评论
180
上一篇:Python基础|一文讲透 Python 协程 下一篇:PHP7.3、PHP8.1支持的时间及其它版本终止支持时间

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码