这篇文章主要介绍“php如何抑制报错”,在日常操作中,相信很多人在php如何抑制报错问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何抑制报错”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
php抑制报错的方法:1、打开相应的php文件;2、使用@运算符来抑制单个错误,抑制语法如“@include ('config.inc.php');”;3、将@符号用于那些执行失败时不会影响脚本整体功能的函数。
利用@来抑制错误
在PHP中,可以使用@运算符来抑制单个错误。例如,如果不希望PHP报告它不包括某个文件,则可以编写如下代码:
@include ('config.inc.php');
或者如果不希望看到“除以0”错误:
像函数调用或数学运算一样,@符号只能处理表达式。不能在条件语句、循环语句、函数定义等之前使用@符号。$x = 8;
$y = 0;
$num = @($x/$y);
一条经验法则是,我建议将@符号用于那些执行失败时不会影响脚本整体功能的函数。或者,在你自己可以更优雅地处理PHP的错误时可以抑制错误。
一些开源软件中使用到@抑制错误的部分代码:
//code from phpbb3(common.php) // If we are on PHP >= 6.0.0 we do not need some code if (version_compare(PHP_VERSION, '6.0.0-dev', '>=')) { /** * @ignore */ define('STRIP', false); } else { @set_magic_quotes_runtime(0); // Be paranoid with passed vars if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get')) { deregister_globals(); } define('STRIP', (get_magic_quotes_gpc()) ? true : false); } //code from phpbb3(style.php) $dir = @opendir("{$phpbb_root_path}styles/{$theme['theme_path']}/theme"); //code from phpbb3(adm/index.php) if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name])) { $error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]); } //code from phpbb3(functions.php) if (($fh = @fopen('/dev/urandom', 'rb'))) { $random = fread($fh, $count); fclose($fh); }
php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
到此,关于“php如何抑制报错”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。