PHP关闭错误 - 在一个文件中只

我清楚地知道关于error_reporting(0); ini_set('display_errors', "Off");使错误信息消失。

什么是适当的方式做到这一点 - 为唯一的代码特定文件或部分? Surpressing带@的错误似乎是一个糟糕的主意,因为它明显减慢代码下来...

原因? 我们拥有一批在开发局域网是真的不可靠的memcached服务器由于网络设置,因此我们每隔一小时recieving错误多次,没有什么我们可以做些什么,除了停止使用内存缓存或关闭错误,整个应用程序,这将是给我们一个头痛 - 在开发阶段的中间:)

--------------解决方案-------------

有种你已经回答了你自己的问题。 要做到这一点对一个特定的文件,使用error_reporting(0); 将关闭错误。 你也可以把它多次在脚本中,我想。

您也可以使用PHP例外'抓'了错误的代码块。 例如:

try {
// code to ignore errors for here
} catch {
// you can output a custom error here, but putting nothing here will effectively mean errors are ignored for the try block
}

该脚本将继续运行以往try块,即使是在它的一个错误。 见PHP手册条目以获取更多信息。

<?php

// normal code

// error_reporting returns the old error code
$old_error_reporting = error_reporting(0);

// your errorful code

// reset error_reporting to its old value
error_reporting($old_error_reporting);

// normal code

虽然这将是解决实际所引起的错误是一个好主意。

您可以在运行时更改错误报告级别:

<?

error_reporting(E_ALL);

... some code ....

error_reporting(0);

... some more code ....

error_reporting(E_ALL);

据我所知,没有其他办法,但我想不出一个情况下,这是不够的。 你可以吗?

这的确是一个很久以前的事,但像我这样,也许会用我的答案。

当我需要做这样的东西,我只是把@变量之前,为了不显示此变量传来的错误。

例:

switch(@$var!="e") {

....

}

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP的,错误处理
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.359 (s). 10 q(s)