我正在尝试学习的类和函数,我正在做一个fsockopen来检查服务器是否在线。当我直接从页面执行此操作时,一切都很顺利(不调用函数。)我正在尝试关闭特定函数的错误报告。 编辑:我也尝试将error_reporting直接添加到函数中,但也无效。
class server
{
public function __construct() {
global $servhost;
global $gameport;
global $loginport;
$this->fp = fsockopen($servhost, $gameport, $errno, $errstr, 5);
$this->er = error_reporting(0);
}
function servstatus()
{
// tried this echo $this->er;
// tried this $this->er;
// tried this error_reporting(0);
if ($this->fp) {
echo "Server Online";
fclose($this->fp);
} else {
echo "Server Offline";
fclose($this->fp);
}
}
}
答案 0 :(得分:2)
您可以使用 @ 来抑制函数调用或表达式的错误报告。
例如$status = @servstatus();
或$this->fp = @fsockopen($servhost, $gameport, $errno, $errstr, 5);
我建议您尝试找到更好的方法来处理错误或警告,而不是忽略它。抑制只应在某些情况下使用,并且在调试时可能会出现问题,因此应谨慎使用。