巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+城市分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站资讯News

PHP中error_reporting()函数的用法(点窜PHP屏障毛病)

0
一佰互联网站扶植(www.taishanly.com) 宣布时候:2020-04-30 09:22:02 阅读数: 130
明天进修CI框架进程中碰到个题目: A PHP Error was encountered
Severity: Notice Message: Undefined variable: user 通俗在默许的通俗PHP文件中输出一个未界说申明的变量是不会报毛病的,但在codeigniter框架下却要报毛病,这对想集成 增加 和 点窜 页面于一体的”懒人”很不便利,由于是初学者起头还想怎样在代码中屏障这一毛病提醒呢.乃至用到了@,但听良多人都说@会大大下降机能…. 最初俄然想到,是不是是codeigniter成心让这毛病信息提醒出来了呢,咱们该若何去屏障掉这一类毛病呢有意中搜刮到了”若何让codeigniter不显现Notice信息?”,恍然大悟.本来是进口index.php中的error_reporting(E_ALL);在捣蛋.只要要把它改成
  error_reporting(E_ALL ^ E_NOTICE);
就能够屏障掉这个毛病,而不影响其余的报错. 下边是搜刮到的一些材料: error_reporting() 设置 PHP 的报错级别并前往以后级别。 语法
error_reporting(report_level)
若是参数 level 未指定,以后报错级别将被前往。上面几项是 level 能够的值: 1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
E_NOTICE 表现通俗景象不记实,只要程式有毛病景象时才用到,比方诡计存取一个不存在的变数,或是呼唤 stat() 函式检视不存在的档案。 E_WARNING 凡是城市显现出来,但不会间断程式的履行。这对除错很有用。比方:用有题目标惯例表现法呼唤 ereg()。 E_ERROR 凡是会显现出来,亦会间断程式履行。意即用这个遮罩没法清查到影象体设置装备摆设或别的的毛病。 E_PARSE 从语法中分解毛病。
E_CORE_ERROR 近似 E_ERROR,但不包含 PHP 焦点形成的毛病。
E_CORE_WARNING 近似 E_WARNING,但不包含 PHP 焦点毛病正告。 PHP 的毛病报告
  php.ini 文件中有良多设置装备摆设设置。您该当已设置好本身的 php.ini 文件并把它放在适合的目次中,就像在 Linux 上装置 PHP 和 Apache 2 的文档申明中所示的那样。在调试 PHP 利用法式时,该当晓得两个设置装备摆设变量。上面是这两个变量及其默许值:
    display_errors = Off
    error_reporting = E_ALL
  经由进程在 php.ini 文件中搜刮它们,能够发明这两个变量以后的默许值。display_errors 变量的目标很较着 —— 它告知 PHP 是不是是显现毛病。默许值是 Off。可是,要闪开辟进程加倍轻松,请把这个值设为 On:
    display_errors = On
  error_reporting 变量的默许值是 E_ALL。这个设置会显现从不良编码理论到有害提醒到犯错的一切信息。E_ALL 对开辟进程来讲有点太细,由于它在屏幕上为一些大事(比方变量未初始化)也显现提醒,会搞糟阅读器的输出。我只想看到毛病和不良编码理论,可是不想看到有害的提醒。以是,请用以下值取代 error_reporting 的默许值:
    error_reporting = E_ALL & ~E_NOTICE   从头启动 Apache,就全数设置好了。接上去,将进修若何在 Apache 上做一样的事。   办事器上的毛病报告
  依靠于 Apache 正在做的任务,在 PHP 中翻开毛病报告能够没法任务,由于在计较机上能够有多个 PHP 版本。偶然很难辨别 Apache 正在利用哪一个 PHP 版本,由于 Apache 只能查抄一个 php.ini 文件。不晓得 Apache 正在利用哪一个 php.ini 文件设置装备摆设本身是一个宁静题目。可是,有一种体例能够在 Apache 中设置装备摆设 PHP 变量,从而保障设置了准确的犯错级别。   并且,最好晓得若何在办事器端设置这些设置装备摆设变量,以反对或抢占 php.ini 文件,从而供给更高等别的宁静性。
在设置装备摆设 Apache 时,应当已打仗过 /conf/httpd.conf 中 http.conf 文件中的根基设置装备摆设。   要做在php.ini文件中已做过的事,请把以下各行增加到 httpd.conf,笼盖任何 php.ini 文件:
    php_flag display_errors on
    php_value error_reporting 2039
  这会笼盖在 php.ini 文件中为 display_errors 已设置的标记,和 error_reporting 的值。值 2039 代表 E_ALL & ~E_NOTICE。若是情愿接纳 E_ALL,请把值设为 2047。一样,仍是要重启 Apache。
  接上去,要在办事器上测试毛病报告。 对于error_reporting()这个函数,它是能够屏障到一些毛病信息,可是PHP 焦点形成的毛病,是没法屏障的,由于PHP 焦点形成的毛病会间接致使PHP文件编译失利,由于誊写格局不根据PHP的编码法则写而形成的毛病,是没法屏障的
复制代码 代码以下:
* For now, avoid warnings of E_STRICT mode
* (this must be done before function definitions)
*/
if (defined("E_STRICT")) {
$old_error_reporting = error_reporting(0);
if ($old_error_reporting & E_STRICT) {
error_reporting($old_error_reporting ^ E_STRICT);
} else {
error_reporting($old_error_reporting);
}
unset($old_error_reporting);

罕见的以下:
复制代码 代码以下:
// Turn off all error reporting;封闭一切的毛病
error_reporting(0); // Report simple running errors;报告一个简略的运转毛病
error_reporting(E_ERROR | E_WARNING | E_PARSE); // Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings …);包含报告一些未初始化的变量或捉拿变量名的拼写毛病
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // Report all errors except E_NOTICE
// This is the default value set in php.ini;报告一切的毛病但不包含E_NOTICE 这也是php.ini的缺省设置
error_reporting(E_ALL ^ E_NOTICE); // Report all PHP errors (bitwise 63 may be used in PHP 3);报告一切的毛病
error_reporting(E_ALL); // Same as error_reporting(E_ALL);同上
ini_set("error_reporting", E_ALL);
一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

上一篇:php中批量删除Mysql中不异前缀的数据表的代码
下一篇: PHP函数之error_reporting(E_ALL ^ E_NOTICE)具体申明
[前往消息列表]

保举产物办事

多家企业及小我利用咱们的办事!

相干消息more

25
04月
PHP explode()函数用法讲授

PHP explode() 函数实例把字符串打散为数组:<?php $str = "www.codingdict.com"; ... >>概况

26
04月
PHP检测数据范例的几种体例(总结)

在JavaScript中,利用typeof能够检测根基数据范例,利用instanceof能够检测援用数据范例。在PHP中,也有检测数据范例的... >>概况

03
05月
网站优化搜刮引擎优化进程中常常利用的搜刮指令应用

在搜刮引擎优化进程中,咱们经常常利用到的是在搜刮引擎中输出某某标记来查抄网站的收录、链接等等。可是搜刮引擎在一起头就筹办了良多查抄的指令,只是大... >>概况

08
11月
万州人材网告白位收费了招骋求职要推送就送积分

万州人材网告白位收费了招骋求职要推送就送积分: 注册即送1000积分,宣布职位自助加急,保举,加色等操纵。做万州最大的人材雇用平台,帮企业快... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站