您的位置:

防止php函数报warning,防止报错的函数

本文目录一览:

php中出现“Warning: mysql_fetch_array(): ..."什么情况?

Warning是警告,不是错误,只是你写的代码不怎么规范,所以提醒你不该这么写。你的程序并没有错,能够正常运行,所以可以忽略

隐藏警告办法有两个:第一个就是修改php.ini降低报错等级,第二就是在程序里定义报错等级了。

第一种办法:在php.ini中找到:error_reporting = ...,把它改为error_reporting = 0。修改后记得重启Apache

第二种办法:在代码的前面加上error_reporting(0);

不过这样就把所有错误信息都屏蔽了,一旦程序出错你就只能得到一个空白的页面。如果想让程序输出错误信息把0改为E_ERROR即可

如何关闭php的notice和warning问题

我的方法是找到你自己的php配置文件php.ini,用记事本打开,在该文件中找到error_reporting = E_ALL把该行代码替换成error_reporting = E_ALL ~E_NOTICE ~E_STRICT

这样就解决了这个问题了。如果还有不懂的可以去后盾人找找相关的教材看看,多看点以后不会的不就少了,希望对你有用。给个采纳吧谢谢

php中怎么隐藏warning

在可能会产生警告信息的函数前添加 @符号即可.

如 @mysql_connect.....

需要说明的是,这样只是隐藏警告和错误信息,函数因错误产生的中断不能被跳过.更像是"掩耳盗铃".

不建议使用这样的方法,而是用 try...catch...捕获异常,然后对异常进行 友好提示的封装.

怎么把mac上php这些烦人的warning去掉

配置错误信息回报的等级。

语法: int error_reporting(int [level]);

返回值: 整数

函数种类: PHP 系统功能内容说明本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。

遮罩值 表示名称1 E_ERROR2 E_WARNING4 E_PARSE8 E_NOTICE16 E_CORE_ERROR

32 E_CORE_WARNING

E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。

E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。

E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。

E_PARSE 从语法中解析错误。

E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。

E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。

php 如何关闭 Warning

error_reporting(255);

是列出所有提示

error_reporting(0);

是不显示所有提示

建议使用

error_reporting(7);

只显示严重错误

1 E_ERROR 致命的运行时错误

2 E_WARNING 运行时警告(非致命性错误)

4 E_PARSE 编译时解析错误

8 E_NOTICE 运行时提醒(经常是bug,也可能是有意的)

16 E_CORE_ERROR PHP启动时初始化过程中的致命错误

32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)

64 E_COMPILE_ERROR 编译时致命性错

128 E_COMPILE_WARNING 编译时警告(非致命性错)

256 E_USER_ERROR 用户自定义的致命错误

512 E_USER_WARNING 用户自定义的警告(非致命性错误)

1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)

2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)

4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR

6143 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)

php怎么屏蔽warning

诸如下面这些错误的提示:Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332有的时候代码的警告会导致整个项目无法运行,比如某个变量无对象的情况,若无影响,这时如果屏蔽警告,就可以使整个项目恢复正常运行。当然它的作用不在于这,而是在成品网站或做服务器时,不输出错误信息可以减少被黑客攻击的风险(对于一些容易出错并且容易暴漏敏感数据的代码,一般多在数据库这块吧),也能在出错的情况下仍保持网站的美观。至于在调试下,那这个错误提示信息还是比较有用的,可以在PHP页面最前边加上一句: error_reporting(E_ALL ~E_NOTICE);让出错时显示错误信息。屏蔽的方法:

屏蔽PHP错误提示方法一、在有可能出错的函数前加@,然后or die("") 如: @mysql_connect(...) or die("Database Connect Error")

屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。

屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。

例:

@$a = $b['a']; //忽略@后面语句的错误

$a = @$b['a']; //忽略@后面语句的错误,推荐使用这句。因为错误是在$b这个数组中发生的,所以@符号在$b前就可以了,这是错误真正发生的地方。